======================
Languages are not equally supported in all packages. The following
-matrix shows the current state of internationalization, as of March
-2010. The matrix shows, in regard of each package, for which languages
-PO files have been submitted to translation coordination, with a
+matrix shows the current state of internationalization, as of May 2010.
+The matrix shows, in regard of each package, for which languages PO
+files have been submitted to translation coordination, with a
translation percentage of at least 50%.
- Ready PO files af am ar ast az be be@latin bg bn_IN bs ca crh
- +------------------------------------------------+
- a2ps | [] [] |
- aegis | |
- ant-phone | |
- anubis | |
- aspell | [] [] |
- bash | |
- bfd | |
- bibshelf | [] |
- binutils | |
- bison | |
- bison-runtime | [] |
- bluez-pin | [] [] |
- bombono-dvd | |
- buzztard | |
- cflow | |
- clisp | |
- coreutils | [] [] |
- cpio | |
- cppi | |
- cpplib | [] |
- cryptsetup | |
- dfarc | |
- dialog | [] [] |
- dico | |
- diffutils | [] |
- dink | |
- doodle | |
- e2fsprogs | [] |
- enscript | [] |
- exif | |
- fetchmail | [] |
- findutils | [] |
- flex | [] |
- freedink | |
- gas | |
- gawk | [] [] |
- gcal | [] |
- gcc | |
- gettext-examples | [] [] [] [] |
- gettext-runtime | [] [] [] |
- gettext-tools | [] [] |
- gip | [] |
- gliv | [] |
- glunarclock | [] [] |
- gnubiff | |
- gnucash | [] |
- gnuedu | |
- gnulib | |
- gnunet | |
- gnunet-gtk | |
- gnutls | |
- gold | |
- gpe-aerial | |
- gpe-beam | |
- gpe-bluetooth | |
- gpe-calendar | |
- gpe-clock | [] |
- gpe-conf | |
- gpe-contacts | |
- gpe-edit | |
- gpe-filemanager | |
- gpe-go | |
- gpe-login | |
- gpe-ownerinfo | [] |
- gpe-package | |
- gpe-sketchbook | |
- gpe-su | [] |
- gpe-taskmanager | [] |
- gpe-timesheet | [] |
- gpe-today | [] |
- gpe-todo | |
- gphoto2 | |
- gprof | [] |
- gpsdrive | |
- gramadoir | |
- grep | |
- grub | [] [] |
- gsasl | |
- gss | |
- gst-plugins-bad | [] |
- gst-plugins-base | [] |
- gst-plugins-good | [] |
- gst-plugins-ugly | [] |
- gstreamer | [] [] [] |
- gtick | |
- gtkam | [] |
- gtkorphan | [] |
- gtkspell | [] [] [] |
- gutenprint | |
- hello | [] |
- hylafax | |
- idutils | |
- indent | [] [] |
- iso_15924 | |
- iso_3166 | [] [] [] [] [] [] [] |
- iso_3166_2 | |
- iso_4217 | |
- iso_639 | [] [] [] [] |
- iso_639_3 | [] |
- jwhois | |
- kbd | |
- keytouch | [] |
- keytouch-editor | |
- keytouch-keyboa... | [] |
- klavaro | [] |
- latrine | |
- ld | [] |
- leafpad | [] [] |
- libc | [] [] |
- libexif | () |
- libextractor | |
- libgnutls | |
- libgpewidget | |
- libgpg-error | |
- libgphoto2 | |
- libgphoto2_port | |
- libgsasl | |
- libiconv | [] |
- libidn | |
- lifelines | |
- liferea | [] [] |
- lilypond | |
- linkdr | [] |
- lordsawar | |
- lprng | |
- lynx | [] |
- m4 | |
- mailfromd | |
- mailutils | |
- make | |
- man-db | |
- man-db-manpages | |
- minicom | |
- mkisofs | |
- nano | [] [] |
- opcodes | |
- parted | |
- pies | |
- popt | |
- psmisc | |
- pspp | [] |
- pwdutils | |
- radius | [] |
- recode | [] [] |
- rosegarden | |
- rpm | |
- rush | |
- screem | |
- scrollkeeper | [] [] [] |
- sed | [] [] |
- sharutils | [] [] |
- shishi | |
- skencil | |
- solfege | |
- solfege-manual | |
- soundtracker | |
- sp | |
- sysstat | |
- tar | [] |
- texinfo | |
- tin | |
- unicode-han-tra... | |
- unicode-transla... | |
- util-linux-ng | [] |
- vice | |
- vmm | |
- vorbis-tools | |
- wastesedge | |
- wdiff | |
- wget | [] |
- wyslij-po | |
- xchat | [] [] [] [] |
- xdg-user-dirs | [] [] [] [] [] [] [] |
- xkeyboard-config | [] [] [] |
- +------------------------------------------------+
- af am ar ast az be be@latin bg bn_IN bs ca crh
- 6 0 2 19 1 10 3 28 2 1 38 5
+ Ready PO files af am ar as ast az be be@latin bg bn_IN bs ca crh
+ +---------------------------------------------------+
+ a2ps | [] [] |
+ aegis | |
+ ant-phone | |
+ anubis | |
+ aspell | [] [] |
+ bash | |
+ bfd | |
+ bibshelf | [] |
+ binutils | |
+ bison | |
+ bison-runtime | [] |
+ bluez-pin | [] [] |
+ bombono-dvd | |
+ buzztard | |
+ cflow | |
+ clisp | |
+ coreutils | [] [] |
+ cpio | |
+ cppi | |
+ cpplib | [] |
+ cryptsetup | |
+ dfarc | |
+ dialog | [] [] |
+ dico | |
+ diffutils | [] |
+ dink | |
+ doodle | |
+ e2fsprogs | [] |
+ enscript | [] |
+ exif | |
+ fetchmail | [] |
+ findutils | [] |
+ flex | [] |
+ freedink | |
+ gas | |
+ gawk | [] [] |
+ gcal | [] |
+ gcc | |
+ gettext-examples | [] [] [] [] |
+ gettext-runtime | [] [] [] |
+ gettext-tools | [] [] |
+ gip | [] |
+ gjay | |
+ gliv | [] |
+ glunarclock | [] [] |
+ gnubiff | |
+ gnucash | [] |
+ gnuedu | |
+ gnulib | |
+ gnunet | |
+ gnunet-gtk | |
+ gnutls | |
+ gold | |
+ gpe-aerial | |
+ gpe-beam | |
+ gpe-bluetooth | |
+ gpe-calendar | |
+ gpe-clock | [] |
+ gpe-conf | |
+ gpe-contacts | |
+ gpe-edit | |
+ gpe-filemanager | |
+ gpe-go | |
+ gpe-login | |
+ gpe-ownerinfo | [] |
+ gpe-package | |
+ gpe-sketchbook | |
+ gpe-su | [] |
+ gpe-taskmanager | [] |
+ gpe-timesheet | [] |
+ gpe-today | [] |
+ gpe-todo | |
+ gphoto2 | |
+ gprof | [] |
+ gpsdrive | |
+ gramadoir | |
+ grep | |
+ grub | [] [] |
+ gsasl | |
+ gss | |
+ gst-plugins-bad | [] |
+ gst-plugins-base | [] |
+ gst-plugins-good | [] |
+ gst-plugins-ugly | [] |
+ gstreamer | [] [] [] |
+ gtick | |
+ gtkam | [] |
+ gtkorphan | [] |
+ gtkspell | [] [] [] |
+ gutenprint | |
+ hello | [] |
+ help2man | |
+ hylafax | |
+ idutils | |
+ indent | [] [] |
+ iso_15924 | |
+ iso_3166 | [] [] [] [] [] [] [] [] |
+ iso_3166_2 | |
+ iso_4217 | |
+ iso_639 | [] [] [] [] [] |
+ iso_639_3 | [] |
+ jwhois | |
+ kbd | |
+ keytouch | [] |
+ keytouch-editor | |
+ keytouch-keyboa... | [] |
+ klavaro | [] |
+ latrine | |
+ ld | [] |
+ leafpad | [] [] |
+ libc | [] [] |
+ libexif | () |
+ libextractor | |
+ libgnutls | |
+ libgpewidget | |
+ libgpg-error | |
+ libgphoto2 | |
+ libgphoto2_port | |
+ libgsasl | |
+ libiconv | [] |
+ libidn | |
+ lifelines | |
+ liferea | [] [] |
+ lilypond | |
+ linkdr | [] |
+ lordsawar | |
+ lprng | |
+ lynx | [] |
+ m4 | |
+ mailfromd | |
+ mailutils | |
+ make | |
+ man-db | |
+ man-db-manpages | |
+ minicom | |
+ mkisofs | |
+ myserver | |
+ nano | [] [] |
+ opcodes | |
+ parted | |
+ pies | |
+ popt | |
+ psmisc | |
+ pspp | [] |
+ pwdutils | |
+ radius | [] |
+ recode | [] [] |
+ rosegarden | |
+ rpm | |
+ rush | |
+ sarg | |
+ screem | |
+ scrollkeeper | [] [] [] |
+ sed | [] [] |
+ sharutils | [] [] |
+ shishi | |
+ skencil | |
+ solfege | |
+ solfege-manual | |
+ soundtracker | |
+ sp | |
+ sysstat | |
+ tar | [] |
+ texinfo | |
+ tin | |
+ unicode-han-tra... | |
+ unicode-transla... | |
+ util-linux-ng | [] |
+ vice | |
+ vmm | |
+ vorbis-tools | |
+ wastesedge | |
+ wdiff | |
+ wget | [] [] |
+ wyslij-po | |
+ xchat | [] [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] |
+ +---------------------------------------------------+
+ af am ar as ast az be be@latin bg bn_IN bs ca crh
+ 6 0 2 3 19 1 11 3 28 3 1 38 5
cs da de el en en_GB en_ZA eo es et eu fa fi
+-------------------------------------------------+
bison | [] [] [] |
bison-runtime | [] [] [] [] [] |
bluez-pin | [] [] [] [] [] [] [] |
- bombono-dvd | [] |
+ bombono-dvd | [] [] |
buzztard | [] [] [] |
cflow | [] [] [] |
clisp | [] [] [] [] |
coreutils | [] [] [] [] |
cpio | [] |
- cppi | |
+ cppi | [] |
cpplib | [] [] [] |
cryptsetup | [] |
dfarc | [] [] [] [] |
gettext-runtime | [] [] [] [] [] |
gettext-tools | [] [] [] |
gip | [] [] [] [] [] |
+ gjay | [] [] |
gliv | [] [] [] [] |
glunarclock | [] [] [] |
gnubiff | () |
gold | [] [] |
gpe-aerial | [] [] [] [] [] |
gpe-beam | [] [] [] [] [] |
- gpe-bluetooth | [] [] |
+ gpe-bluetooth | [] [] [] |
gpe-calendar | [] [] |
gpe-clock | [] [] [] [] [] |
gpe-conf | [] [] [] [] |
gpsdrive | [] [] [] |
gramadoir | [] [] [] |
grep | [] [] |
- grub | [] [] |
+ grub | [] [] [] |
gsasl | [] [] |
gss | [] |
gst-plugins-bad | [] [] [] [] [] [] |
gtkam | [] [] () [] [] |
gtkorphan | [] [] [] [] |
gtkspell | [] [] [] [] [] [] [] [] |
- gutenprint | [] [] [] |
+ gutenprint | [] [] [] [] |
hello | [] [] [] [] [] |
+ help2man | [] [] |
hylafax | [] [] |
idutils | [] [] [] |
indent | [] [] [] [] [] [] [] [] |
man-db-manpages | |
minicom | [] [] [] [] [] |
mkisofs | [] |
+ myserver | |
nano | [] [] [] [] |
opcodes | [] [] [] |
parted | [] [] |
rosegarden | () () () () |
rpm | [] [] [] |
rush | |
+ sarg | |
screem | |
scrollkeeper | [] [] [] [] [] [] |
sed | [] [] [] [] [] [] [] |
vmm | [] |
vorbis-tools | [] [] |
wastesedge | [] |
- wdiff | [] [] |
+ wdiff | [] [] [] |
wget | [] [] [] [] |
wyslij-po | [] |
xchat | [] [] [] [] [] [] |
xkeyboard-config | [] [] [] [] [] [] |
+-------------------------------------------------+
cs da de el en en_GB en_ZA eo es et eu fa fi
- 64 103 113 18 1 8 0 28 89 18 19 0 100
+ 64 105 117 18 1 8 0 28 89 18 19 0 104
fr ga gl gu he hi hr hu hy id is it ja ka kn
+------------------------------------------------+
ant-phone | [] [] |
anubis | [] [] [] |
aspell | [] [] [] [] |
- bash | [] |
- bfd | [] |
+ bash | [] [] [] |
+ bfd | [] [] |
bibshelf | [] [] [] [] |
binutils | [] [] |
bison | [] [] [] |
gettext-runtime | [] [] [] [] [] |
gettext-tools | [] [] [] [] |
gip | [] [] [] [] [] |
+ gjay | |
gliv | () |
glunarclock | [] [] [] |
gnubiff | () [] () |
gpe-package | [] [] |
gpe-sketchbook | [] [] [] |
gpe-su | [] [] [] [] [] |
- gpe-taskmanager | [] [] [] |
+ gpe-taskmanager | [] [] [] [] |
gpe-timesheet | [] [] [] [] |
- gpe-today | [] [] [] [] [] |
+ gpe-today | [] [] [] [] [] [] |
gpe-todo | [] [] |
gphoto2 | [] [] [] [] [] |
gprof | [] [] [] |
gpsdrive | [] [] [] |
gramadoir | [] [] [] |
- grep | |
- grub | [] |
+ grep | [] |
+ grub | [] [] [] |
gsasl | [] [] [] [] |
gss | [] [] [] [] |
gst-plugins-bad | [] [] [] [] |
gtkspell | [] [] [] [] [] [] [] [] |
gutenprint | [] [] [] |
hello | [] [] |
+ help2man | [] |
hylafax | [] |
idutils | [] [] [] [] [] |
indent | [] [] [] [] [] [] [] |
iso_15924 | () [] [] |
iso_3166 | () [] [] [] [] [] [] [] [] [] [] |
- iso_3166_2 | () [] [] |
+ iso_3166_2 | () [] [] [] |
iso_4217 | () [] [] [] [] |
iso_639 | () [] [] [] [] [] [] [] |
iso_639_3 | () [] [] |
libgnutls | [] [] |
libgpewidget | [] [] [] |
libgpg-error | [] [] |
- libgphoto2 | [] [] |
+ libgphoto2 | [] [] [] |
libgphoto2_port | [] [] [] |
libgsasl | [] [] [] [] |
libiconv | [] [] [] [] [] |
man-db-manpages | [] |
minicom | [] [] [] [] |
mkisofs | [] [] [] |
+ myserver | |
nano | [] [] [] [] [] |
opcodes | [] [] [] |
parted | [] [] [] [] |
pies | |
popt | [] [] [] [] [] [] [] [] |
- psmisc | [] [] [] |
+ psmisc | [] [] |
pspp | |
pwdutils | [] [] |
radius | [] [] |
rosegarden | () () () () |
rpm | [] [] |
rush | |
+ sarg | [] |
screem | [] [] |
scrollkeeper | [] [] [] |
sed | [] [] [] [] [] [] [] |
sp | [] () |
sysstat | [] [] [] [] |
tar | [] [] [] [] [] [] |
- texinfo | [] [] [] |
+ texinfo | [] [] [] [] |
tin | [] |
unicode-han-tra... | |
unicode-transla... | [] [] |
xkeyboard-config | [] [] [] [] |
+------------------------------------------------+
fr ga gl gu he hi hr hu hy id is it ja ka kn
- 116 53 20 4 8 2 5 50 2 120 5 81 64 0 4
+ 121 53 20 4 8 2 5 53 2 120 5 83 66 0 4
ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne
+-----------------------------------------------+
gettext-runtime | [] |
gettext-tools | [] |
gip | [] [] |
+ gjay | |
gliv | |
glunarclock | [] |
gnubiff | |
gtkspell | [] [] [] [] [] [] [] |
gutenprint | |
hello | [] [] [] |
+ help2man | |
hylafax | |
idutils | |
indent | |
iso_3166 | [] [] () [] [] [] [] [] |
iso_3166_2 | |
iso_4217 | [] [] |
- iso_639 | [] |
+ iso_639 | [] [] |
iso_639_3 | [] |
jwhois | [] |
kbd | |
man-db-manpages | |
minicom | [] |
mkisofs | |
+ myserver | |
nano | [] [] |
opcodes | |
parted | |
rosegarden | |
rpm | |
rush | |
+ sarg | |
screem | |
scrollkeeper | [] [] |
sed | |
xkeyboard-config | [] [] [] |
+-----------------------------------------------+
ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne
- 20 5 10 1 12 48 4 1 2 4 24 10 19 3 1
+ 20 5 10 1 12 48 4 2 2 4 24 10 19 3 1
- nl nn pa pl ps pt pt_BR ro ru rw sk sl sq sr sv
+ nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr
+---------------------------------------------------+
- a2ps | [] [] [] [] [] [] [] [] [] |
- aegis | [] [] [] |
- ant-phone | [] [] |
- anubis | [] [] [] [] |
- aspell | [] [] [] [] [] |
- bash | [] [] [] |
- bfd | [] |
- bibshelf | [] [] [] |
- binutils | [] [] |
- bison | [] [] [] [] |
- bison-runtime | [] [] [] [] [] [] [] [] |
- bluez-pin | [] [] [] [] [] [] [] [] [] |
- bombono-dvd | [] () |
+ a2ps | [] [] [] [] [] [] [] [] |
+ aegis | [] [] [] |
+ ant-phone | [] [] |
+ anubis | [] [] [] |
+ aspell | [] [] [] [] [] |
+ bash | [] [] |
+ bfd | [] |
+ bibshelf | [] [] |
+ binutils | [] [] |
+ bison | [] [] [] |
+ bison-runtime | [] [] [] [] [] [] [] |
+ bluez-pin | [] [] [] [] [] [] [] [] |
+ bombono-dvd | [] () |
buzztard | [] [] |
- cflow | [] |
- clisp | [] [] |
- coreutils | [] [] [] [] [] [] [] |
- cpio | [] [] [] [] |
- cppi | |
- cpplib | [] [] |
- cryptsetup | [] [] |
- dfarc | [] |
- dialog | [] [] [] [] [] |
- dico | [] |
- diffutils | [] [] [] [] [] [] [] |
+ cflow | [] |
+ clisp | [] [] |
+ coreutils | [] [] [] [] [] [] |
+ cpio | [] [] [] |
+ cppi | [] |
+ cpplib | [] |
+ cryptsetup | [] |
+ dfarc | [] |
+ dialog | [] [] [] [] |
+ dico | [] |
+ diffutils | [] [] [] [] [] [] |
dink | () |
- doodle | [] [] [] |
- e2fsprogs | [] [] [] |
- enscript | [] [] [] [] [] [] |
- exif | [] [] [] () [] [] |
- fetchmail | [] [] [] [] |
- findutils | [] [] [] [] [] [] |
- flex | [] [] [] [] [] [] |
- freedink | [] [] |
+ doodle | [] [] |
+ e2fsprogs | [] [] |
+ enscript | [] [] [] [] [] |
+ exif | [] [] [] () [] |
+ fetchmail | [] [] [] [] |
+ findutils | [] [] [] [] [] |
+ flex | [] [] [] [] [] |
+ freedink | [] [] |
gas | |
- gawk | [] [] [] [] [] |
- gcal | [] |
- gcc | [] [] |
- gettext-examples | [] [] [] [] [] [] [] [] [] |
- gettext-runtime | [] [] [] [] [] [] [] [] [] [] |
- gettext-tools | [] [] [] [] [] [] [] |
- gip | [] [] [] [] [] [] |
- gliv | [] [] [] [] [] [] [] |
- glunarclock | [] [] [] [] [] [] |
- gnubiff | [] () [] |
- gnucash | [] () () () |
+ gawk | [] [] [] [] |
+ gcal | |
+ gcc | [] |
+ gettext-examples | [] [] [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] [] [] [] |
+ gettext-tools | [] [] [] [] [] [] |
+ gip | [] [] [] [] [] |
+ gjay | |
+ gliv | [] [] [] [] [] [] |
+ glunarclock | [] [] [] [] [] |
+ gnubiff | [] () |
+ gnucash | [] () () () |
gnuedu | [] |
- gnulib | [] [] [] [] [] |
+ gnulib | [] [] [] [] |
gnunet | |
- gnunet-gtk | [] |
- gnutls | [] [] [] |
+ gnunet-gtk | |
+ gnutls | [] [] |
gold | |
- gpe-aerial | [] [] [] [] [] [] [] [] |
- gpe-beam | [] [] [] [] [] [] [] [] |
- gpe-bluetooth | [] [] [] |
- gpe-calendar | [] [] [] [] [] |
- gpe-clock | [] [] [] [] [] [] [] [] [] |
- gpe-conf | [] [] [] [] [] [] [] [] |
- gpe-contacts | [] [] [] [] [] [] |
- gpe-edit | [] [] [] [] |
- gpe-filemanager | [] [] [] [] |
- gpe-go | [] [] [] [] [] [] [] [] [] |
- gpe-login | [] [] [] |
- gpe-ownerinfo | [] [] [] [] [] [] [] [] [] |
- gpe-package | [] [] [] |
- gpe-sketchbook | [] [] [] [] [] [] [] [] |
- gpe-su | [] [] [] [] [] [] [] [] [] |
- gpe-taskmanager | [] [] [] [] [] [] [] [] [] |
- gpe-timesheet | [] [] [] [] [] [] [] [] [] |
- gpe-today | [] [] [] [] [] [] [] [] [] |
- gpe-todo | [] [] [] [] [] [] |
- gphoto2 | [] [] [] [] [] [] [] [] [] |
- gprof | [] [] [] [] |
- gpsdrive | [] [] [] |
- gramadoir | [] [] [] |
- grep | [] [] |
- grub | [] [] |
- gsasl | [] [] [] [] [] |
- gss | [] [] [] [] |
- gst-plugins-bad | [] [] [] [] [] [] |
- gst-plugins-base | [] [] [] [] [] [] |
- gst-plugins-good | [] [] [] [] [] [] |
- gst-plugins-ugly | [] [] [] [] [] [] [] |
- gstreamer | [] [] [] [] [] [] |
- gtick | [] [] [] |
- gtkam | [] [] [] [] [] [] [] |
- gtkorphan | [] [] |
- gtkspell | [] [] [] [] [] [] [] [] [] [] [] |
- gutenprint | [] [] [] |
- hello | [] [] [] [] [] |
+ gpe-aerial | [] [] [] [] [] [] [] |
+ gpe-beam | [] [] [] [] [] [] [] |
+ gpe-bluetooth | [] [] |
+ gpe-calendar | [] [] [] [] |
+ gpe-clock | [] [] [] [] [] [] [] [] |
+ gpe-conf | [] [] [] [] [] [] [] |
+ gpe-contacts | [] [] [] [] [] |
+ gpe-edit | [] [] [] |
+ gpe-filemanager | [] [] [] |
+ gpe-go | [] [] [] [] [] [] [] [] |
+ gpe-login | [] [] |
+ gpe-ownerinfo | [] [] [] [] [] [] [] [] |
+ gpe-package | [] [] |
+ gpe-sketchbook | [] [] [] [] [] [] [] |
+ gpe-su | [] [] [] [] [] [] [] [] |
+ gpe-taskmanager | [] [] [] [] [] [] [] [] |
+ gpe-timesheet | [] [] [] [] [] [] [] [] |
+ gpe-today | [] [] [] [] [] [] [] [] |
+ gpe-todo | [] [] [] [] [] |
+ gphoto2 | [] [] [] [] [] [] [] [] |
+ gprof | [] [] [] |
+ gpsdrive | [] [] |
+ gramadoir | [] [] |
+ grep | [] [] [] [] |
+ grub | [] [] [] |
+ gsasl | [] [] [] [] |
+ gss | [] [] [] |
+ gst-plugins-bad | [] [] [] [] [] |
+ gst-plugins-base | [] [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] |
+ gtick | [] [] [] |
+ gtkam | [] [] [] [] [] [] |
+ gtkorphan | [] |
+ gtkspell | [] [] [] [] [] [] [] [] [] [] |
+ gutenprint | [] [] |
+ hello | [] [] [] [] |
+ help2man | [] [] |
hylafax | [] |
- idutils | [] [] [] [] [] [] |
- indent | [] [] [] [] [] [] [] [] |
- iso_15924 | [] [] [] [] |
- iso_3166 | [] [] [] [] () [] [] [] [] [] [] [] [] [] |
- iso_3166_2 | [] [] |
- iso_4217 | [] [] [] [] [] [] [] [] [] |
- iso_639 | [] [] [] [] [] [] [] [] |
- iso_639_3 | [] |
- jwhois | [] [] [] [] [] |
- kbd | [] [] [] [] |
- keytouch | [] [] [] |
- keytouch-editor | [] [] [] |
- keytouch-keyboa... | [] [] [] |
- klavaro | [] [] |
- latrine | [] [] |
- ld | [] |
- leafpad | [] [] [] [] [] [] [] [] [] [] |
- libc | [] [] [] [] [] |
- libexif | [] [] () [] |
+ idutils | [] [] [] [] [] |
+ indent | [] [] [] [] [] [] [] |
+ iso_15924 | [] [] [] [] |
+ iso_3166 | [] [] [] [] [] () [] [] [] [] [] [] [] [] |
+ iso_3166_2 | [] [] [] |
+ iso_4217 | [] [] [] [] [] [] [] [] |
+ iso_639 | [] [] [] [] [] [] [] [] [] |
+ iso_639_3 | [] [] |
+ jwhois | [] [] [] [] |
+ kbd | [] [] [] |
+ keytouch | [] [] [] |
+ keytouch-editor | [] [] [] |
+ keytouch-keyboa... | [] [] [] |
+ klavaro | [] [] |
+ latrine | [] [] |
+ ld | |
+ leafpad | [] [] [] [] [] [] [] [] [] |
+ libc | [] [] [] [] |
+ libexif | [] [] () [] |
libextractor | |
- libgnutls | [] [] [] |
- libgpewidget | [] [] [] [] |
- libgpg-error | [] [] [] |
- libgphoto2 | [] [] |
- libgphoto2_port | [] [] [] [] [] |
- libgsasl | [] [] [] [] [] [] |
- libiconv | [] [] [] [] [] [] |
- libidn | [] [] () |
- lifelines | [] [] [] |
- liferea | [] [] [] [] [] () () [] [] |
+ libgnutls | [] [] |
+ libgpewidget | [] [] [] |
+ libgpg-error | [] [] |
+ libgphoto2 | [] [] |
+ libgphoto2_port | [] [] [] [] |
+ libgsasl | [] [] [] [] [] |
+ libiconv | [] [] [] [] [] |
+ libidn | [] [] |
+ lifelines | [] [] |
+ liferea | [] [] [] [] [] () () [] |
lilypond | [] |
- linkdr | [] [] [] [] |
+ linkdr | [] [] [] |
lordsawar | |
- lprng | [] |
- lynx | [] [] [] [] |
- m4 | [] [] [] [] [] [] |
- mailfromd | [] |
- mailutils | [] |
- make | [] [] [] [] [] |
- man-db | [] [] [] [] |
- man-db-manpages | [] [] [] |
- minicom | [] [] [] [] [] |
- mkisofs | [] [] |
- nano | [] [] [] [] |
- opcodes | [] [] [] |
- parted | [] [] [] [] [] |
- pies | [] |
- popt | [] [] [] [] [] |
- psmisc | [] [] [] [] |
- pspp | [] [] |
- pwdutils | [] [] |
- radius | [] [] [] |
- recode | [] [] [] [] [] [] [] [] [] |
- rosegarden | () () () |
- rpm | [] [] [] [] |
- rush | [] |
+ lprng | [] |
+ lynx | [] [] [] |
+ m4 | [] [] [] [] [] |
+ mailfromd | [] |
+ mailutils | [] |
+ make | [] [] [] [] |
+ man-db | [] [] [] |
+ man-db-manpages | [] [] [] |
+ minicom | [] [] [] [] |
+ mkisofs | [] [] [] |
+ myserver | |
+ nano | [] [] [] [] |
+ opcodes | [] [] |
+ parted | [] [] [] [] |
+ pies | [] |
+ popt | [] [] [] [] |
+ psmisc | [] [] [] |
+ pspp | [] [] |
+ pwdutils | [] |
+ radius | [] [] [] |
+ recode | [] [] [] [] [] [] [] [] |
+ rosegarden | () () |
+ rpm | [] [] [] |
+ rush | [] [] |
+ sarg | |
screem | |
- scrollkeeper | [] [] [] [] [] [] [] [] [] |
- sed | [] [] [] [] [] [] [] [] [] [] |
- sharutils | [] [] [] [] [] |
- shishi | [] |
- skencil | [] [] [] |
- solfege | [] [] [] [] [] |
- solfege-manual | [] [] [] |
- soundtracker | [] [] |
+ scrollkeeper | [] [] [] [] [] [] [] [] |
+ sed | [] [] [] [] [] [] [] [] [] |
+ sharutils | [] [] [] [] |
+ shishi | [] |
+ skencil | [] [] |
+ solfege | [] [] [] [] |
+ solfege-manual | [] [] [] |
+ soundtracker | [] |
sp | |
- sysstat | [] [] [] [] |
- tar | [] [] [] [] [] |
- texinfo | [] [] [] [] [] |
- tin | [] |
+ sysstat | [] [] [] [] |
+ tar | [] [] [] [] |
+ texinfo | [] [] [] [] |
+ tin | [] |
unicode-han-tra... | |
unicode-transla... | |
- util-linux-ng | [] [] [] [] [] [] |
- vice | [] () |
+ util-linux-ng | [] [] [] [] [] |
+ vice | [] |
vmm | [] |
- vorbis-tools | [] [] |
+ vorbis-tools | [] [] |
wastesedge | [] |
- wdiff | [] [] [] |
- wget | [] [] [] [] [] [] [] [] |
- wyslij-po | [] [] |
- xchat | [] [] [] [] [] [] [] [] [] [] |
- xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] |
- xkeyboard-config | [] [] [] [] [] [] |
+ wdiff | [] [] |
+ wget | [] [] [] [] [] [] [] |
+ wyslij-po | [] [] [] |
+ xchat | [] [] [] [] [] [] [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] [] |
+---------------------------------------------------+
- nl nn pa pl ps pt pt_BR ro ru rw sk sl sq sr sv
- 132 10 7 96 1 29 60 47 89 3 54 46 8 37 118
+ nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr
+ 135 10 4 7 105 1 29 61 47 91 3 55 47 8 37
- sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW
- +-----------------------------------------------+
- a2ps | [] [] [] [] | 27
- aegis | [] | 9
- ant-phone | [] [] [] | 8
- anubis | [] [] [] | 15
- aspell | [] [] [] | 20
- bash | [] | 9
- bfd | [] | 5
- bibshelf | [] [] | 16
- binutils | [] [] | 8
- bison | [] | 12
- bison-runtime | [] [] [] [] [] | 29
- bluez-pin | [] [] [] [] [] [] [] | 37
- bombono-dvd | [] | 3
- buzztard | | 6
- cflow | [] [] [] | 9
- clisp | | 10
- coreutils | [] [] [] | 22
- cpio | [] [] [] [] [] | 13
- cppi | [] | 2
- cpplib | [] [] [] [] [] | 13
- cryptsetup | [] | 7
- dfarc | [] | 9
- dialog | [] [] [] [] [] [] | 30
- dico | [] | 2
- diffutils | [] [] [] [] [] | 30
- dink | | 4
- doodle | [] | 7
- e2fsprogs | [] [] | 11
- enscript | [] [] [] | 17
- exif | [] [] | 16
- fetchmail | [] [] [] | 17
- findutils | [] [] [] [] | 20
- flex | [] [] [] | 15
- freedink | [] | 10
- gas | [] | 4
- gawk | [] [] [] | 18
- gcal | [] | 5
- gcc | [] [] | 7
- gettext-examples | [] [] [] [] [] [] | 34
- gettext-runtime | [] [] [] [] [] [] | 30
- gettext-tools | [] [] [] [] [] | 22
- gip | [] [] [] | 22
- gliv | [] [] | 14
- glunarclock | [] [] [] [] | 19
- gnubiff | [] | 4
- gnucash | () [] () () | 9
- gnuedu | [] [] | 7
- gnulib | [] [] [] | 16
- gnunet | [] | 1
- gnunet-gtk | [] [] | 5
- gnutls | [] [] | 10
- gold | | 3
- gpe-aerial | [] [] | 18
- gpe-beam | [] [] | 19
- gpe-bluetooth | [] [] | 12
- gpe-calendar | [] [] [] | 12
- gpe-clock | [] [] [] [] | 28
- gpe-conf | [] [] [] | 20
- gpe-contacts | [] [] | 17
- gpe-edit | [] [] | 12
- gpe-filemanager | [] [] [] | 16
- gpe-go | [] [] [] [] | 25
- gpe-login | [] [] | 11
- gpe-ownerinfo | [] [] [] [] | 25
- gpe-package | [] [] | 13
- gpe-sketchbook | [] [] | 20
- gpe-su | [] [] [] [] | 30
- gpe-taskmanager | [] [] [] [] | 28
- gpe-timesheet | [] [] [] [] | 25
- gpe-today | [] [] [] [] [] | 29
- gpe-todo | [] [] [] | 17
- gphoto2 | [] [] [] [] | 24
- gprof | [] [] | 15
- gpsdrive | [] [] | 11
- gramadoir | [] [] | 11
- grep | [] [] | 6
- grub | [] [] | 9
- gsasl | [] [] [] | 14
- gss | [] [] | 11
- gst-plugins-bad | [] [] [] | 22
- gst-plugins-base | [] [] [] [] | 24
- gst-plugins-good | [] [] [] [] | 25
- gst-plugins-ugly | [] [] [] [] | 29
- gstreamer | [] [] [] | 22
- gtick | [] [] [] | 13
- gtkam | [] [] | 20
- gtkorphan | [] [] | 14
- gtkspell | [] [] [] [] [] [] [] [] | 45
- gutenprint | | 9
- hello | [] [] [] [] [] | 21
- hylafax | [] | 5
- idutils | [] [] [] | 17
- indent | [] [] [] [] [] | 30
- iso_15924 | () [] () [] [] | 16
- iso_3166 | [] () [] [] () [] [] [] () | 51
- iso_3166_2 | () [] () [] | 7
- iso_4217 | () [] [] () [] [] | 26
- iso_639 | [] [] () [] () [] [] [] [] | 34
- iso_639_3 | [] () | 7
- jwhois | [] [] [] [] | 16
- kbd | [] [] [] [] | 15
- keytouch | [] [] | 15
- keytouch-editor | [] [] | 13
- keytouch-keyboa... | [] [] | 13
- klavaro | [] | 11
- latrine | [] [] [] | 10
- ld | [] [] [] | 11
- leafpad | [] [] [] [] [] | 33
- libc | [] [] [] [] | 21
- libexif | [] () | 6
- libextractor | [] | 1
- libgnutls | [] [] | 9
- libgpewidget | [] [] | 14
- libgpg-error | [] [] | 9
- libgphoto2 | [] [] | 7
- libgphoto2_port | [] [] [] | 13
- libgsasl | [] [] | 13
- libiconv | [] [] [] | 21
- libidn | [] [] | 11
- lifelines | | 4
- liferea | [] [] | 21
- lilypond | [] | 7
- linkdr | [] [] [] [] | 17
- lordsawar | | 1
- lprng | [] | 3
- lynx | [] [] [] | 17
- m4 | [] [] [] | 19
- mailfromd | [] [] | 3
- mailutils | [] | 5
- make | [] [] [] | 21
- man-db | [] [] | 8
- man-db-manpages | | 4
- minicom | [] | 16
- mkisofs | [] | 7
- nano | [] [] [] | 20
- opcodes | [] [] | 11
- parted | [] [] [] [] | 15
- pies | [] | 2
- popt | [] [] [] [] [] | 27
- psmisc | [] | 12
- pspp | | 4
- pwdutils | [] | 6
- radius | [] [] | 9
- recode | [] [] [] | 28
- rosegarden | | 0
- rpm | [] [] | 11
- rush | [] [] | 3
- screem | [] | 3
- scrollkeeper | [] [] [] [] | 27
- sed | [] [] [] [] | 30
- sharutils | [] [] [] [] | 22
- shishi | [] | 3
- skencil | [] | 7
- solfege | [] [] [] | 16
- solfege-manual | [] | 8
- soundtracker | [] [] | 9
- sp | [] | 3
- sysstat | [] [] | 15
- tar | [] [] [] [] [] | 23
- texinfo | [] [] [] | 15
- tin | | 4
- unicode-han-tra... | | 0
- unicode-transla... | | 2
- util-linux-ng | [] [] [] | 20
- vice | () | 1
- vmm | [] | 4
- vorbis-tools | [] | 6
- wastesedge | | 2
- wdiff | [] | 6
- wget | [] [] [] [] | 25
- wyslij-po | [] | 6
- xchat | [] [] [] [] [] | 36
- xdg-user-dirs | [] [] [] [] [] [] [] [] | 57
- xkeyboard-config | [] [] [] | 25
- +-----------------------------------------------+
- 82 teams sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW
- 174 domains 1 3 2 0 10 66 48 149 17 96 7 41 2551
+ sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW
+ +---------------------------------------------------+
+ a2ps | [] [] [] [] [] | 27
+ aegis | [] | 9
+ ant-phone | [] [] [] [] | 9
+ anubis | [] [] [] [] | 15
+ aspell | [] [] [] | 20
+ bash | [] [] | 11
+ bfd | [] | 6
+ bibshelf | [] [] [] | 16
+ binutils | [] [] | 8
+ bison | [] [] | 12
+ bison-runtime | [] [] [] [] [] [] | 29
+ bluez-pin | [] [] [] [] [] [] [] [] | 37
+ bombono-dvd | [] | 4
+ buzztard | [] | 7
+ cflow | [] [] [] | 9
+ clisp | | 10
+ coreutils | [] [] [] [] | 22
+ cpio | [] [] [] [] [] [] | 13
+ cppi | [] [] | 5
+ cpplib | [] [] [] [] [] [] | 13
+ cryptsetup | [] [] | 7
+ dfarc | [] | 9
+ dialog | [] [] [] [] [] [] [] | 30
+ dico | [] | 2
+ diffutils | [] [] [] [] [] [] | 30
+ dink | | 4
+ doodle | [] [] | 7
+ e2fsprogs | [] [] [] | 11
+ enscript | [] [] [] [] | 17
+ exif | [] [] [] | 16
+ fetchmail | [] [] [] | 17
+ findutils | [] [] [] [] [] | 20
+ flex | [] [] [] [] | 15
+ freedink | [] | 10
+ gas | [] | 4
+ gawk | [] [] [] [] | 18
+ gcal | [] [] | 5
+ gcc | [] [] [] | 7
+ gettext-examples | [] [] [] [] [] [] [] | 34
+ gettext-runtime | [] [] [] [] [] [] [] | 30
+ gettext-tools | [] [] [] [] [] [] | 22
+ gip | [] [] [] [] | 22
+ gjay | [] | 3
+ gliv | [] [] [] | 14
+ glunarclock | [] [] [] [] [] | 19
+ gnubiff | [] [] | 4
+ gnucash | () [] () () | 9
+ gnuedu | [] [] | 7
+ gnulib | [] [] [] [] | 16
+ gnunet | [] | 1
+ gnunet-gtk | [] [] [] | 5
+ gnutls | [] [] [] | 10
+ gold | [] | 4
+ gpe-aerial | [] [] [] | 18
+ gpe-beam | [] [] [] | 19
+ gpe-bluetooth | [] [] [] | 13
+ gpe-calendar | [] [] [] [] | 12
+ gpe-clock | [] [] [] [] [] | 28
+ gpe-conf | [] [] [] [] | 20
+ gpe-contacts | [] [] [] | 17
+ gpe-edit | [] [] [] | 12
+ gpe-filemanager | [] [] [] [] | 16
+ gpe-go | [] [] [] [] [] | 25
+ gpe-login | [] [] [] | 11
+ gpe-ownerinfo | [] [] [] [] [] | 25
+ gpe-package | [] [] [] | 13
+ gpe-sketchbook | [] [] [] | 20
+ gpe-su | [] [] [] [] [] | 30
+ gpe-taskmanager | [] [] [] [] [] | 29
+ gpe-timesheet | [] [] [] [] [] | 25
+ gpe-today | [] [] [] [] [] [] | 30
+ gpe-todo | [] [] [] [] | 17
+ gphoto2 | [] [] [] [] [] | 24
+ gprof | [] [] [] | 15
+ gpsdrive | [] [] [] | 11
+ gramadoir | [] [] [] | 11
+ grep | [] [] [] | 10
+ grub | [] [] [] | 14
+ gsasl | [] [] [] [] | 14
+ gss | [] [] [] | 11
+ gst-plugins-bad | [] [] [] [] | 22
+ gst-plugins-base | [] [] [] [] [] | 24
+ gst-plugins-good | [] [] [] [] [] | 25
+ gst-plugins-ugly | [] [] [] [] [] | 29
+ gstreamer | [] [] [] [] | 22
+ gtick | [] [] [] | 13
+ gtkam | [] [] [] | 20
+ gtkorphan | [] [] [] | 14
+ gtkspell | [] [] [] [] [] [] [] [] [] | 45
+ gutenprint | [] | 10
+ hello | [] [] [] [] [] [] | 21
+ help2man | [] [] | 7
+ hylafax | [] | 5
+ idutils | [] [] [] [] | 17
+ indent | [] [] [] [] [] [] | 30
+ iso_15924 | () [] () [] [] | 16
+ iso_3166 | [] [] () [] [] () [] [] [] () | 53
+ iso_3166_2 | () [] () [] | 9
+ iso_4217 | [] () [] [] () [] [] | 26
+ iso_639 | [] [] [] () [] () [] [] [] [] | 38
+ iso_639_3 | [] () | 8
+ jwhois | [] [] [] [] [] | 16
+ kbd | [] [] [] [] [] | 15
+ keytouch | [] [] [] | 16
+ keytouch-editor | [] [] [] | 14
+ keytouch-keyboa... | [] [] [] | 14
+ klavaro | [] | 11
+ latrine | [] [] [] | 10
+ ld | [] [] [] [] | 11
+ leafpad | [] [] [] [] [] [] | 33
+ libc | [] [] [] [] [] | 21
+ libexif | [] () | 6
+ libextractor | [] | 1
+ libgnutls | [] [] [] | 9
+ libgpewidget | [] [] [] | 14
+ libgpg-error | [] [] [] | 9
+ libgphoto2 | [] [] | 8
+ libgphoto2_port | [] [] [] [] | 13
+ libgsasl | [] [] [] | 13
+ libiconv | [] [] [] [] | 21
+ libidn | () [] [] | 11
+ lifelines | [] | 4
+ liferea | [] [] [] | 21
+ lilypond | [] | 7
+ linkdr | [] [] [] [] [] | 17
+ lordsawar | | 1
+ lprng | [] | 3
+ lynx | [] [] [] [] | 17
+ m4 | [] [] [] [] | 19
+ mailfromd | [] [] | 3
+ mailutils | [] | 5
+ make | [] [] [] [] | 21
+ man-db | [] [] [] | 8
+ man-db-manpages | | 4
+ minicom | [] [] | 16
+ mkisofs | [] [] | 9
+ myserver | | 0
+ nano | [] [] [] [] | 21
+ opcodes | [] [] [] | 11
+ parted | [] [] [] [] [] | 15
+ pies | [] [] | 3
+ popt | [] [] [] [] [] [] | 27
+ psmisc | [] [] | 11
+ pspp | | 4
+ pwdutils | [] [] | 6
+ radius | [] [] | 9
+ recode | [] [] [] [] | 28
+ rosegarden | () | 0
+ rpm | [] [] [] | 11
+ rush | [] [] | 4
+ sarg | | 1
+ screem | [] | 3
+ scrollkeeper | [] [] [] [] [] | 27
+ sed | [] [] [] [] [] | 30
+ sharutils | [] [] [] [] [] | 22
+ shishi | [] | 3
+ skencil | [] [] | 7
+ solfege | [] [] [] [] | 16
+ solfege-manual | [] | 8
+ soundtracker | [] [] [] | 9
+ sp | [] | 3
+ sysstat | [] [] | 15
+ tar | [] [] [] [] [] [] | 23
+ texinfo | [] [] [] [] | 16
+ tin | | 4
+ unicode-han-tra... | | 0
+ unicode-transla... | | 2
+ util-linux-ng | [] [] [] [] | 20
+ vice | () () | 1
+ vmm | [] | 4
+ vorbis-tools | [] | 6
+ wastesedge | | 2
+ wdiff | [] [] | 7
+ wget | [] [] [] [] [] | 26
+ wyslij-po | [] [] | 8
+ xchat | [] [] [] [] [] [] | 36
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] | 60
+ xkeyboard-config | [] [] [] [] | 25
+ +---------------------------------------------------+
+ 84 teams sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW
+ 178 domains 119 1 3 2 0 10 66 50 155 17 97 7 41 2610
Some counters in the preceding matrix are higher than the number of
visible blocks let us expect. This is because a few extra PO files are
lag between the mere existence a PO file and its wide availability in a
distribution.
- If March 2010 seems to be old, you may fetch a more recent copy of
+ If May 2010 seems to be old, you may fetch a more recent copy of
this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date
matrix with full percentage details can be found at
`http://translationproject.org/extra/matrix.html'.
PSPP NEWS -- history of user-visible changes.
-Copyright (C) 1996-2000, 2008-2012 Free Software Foundation, Inc.
+Copyright (C) 1996-2000, 2008-2013 Free Software Foundation, Inc.
See the end for copying conditions.
Please send PSPP bug reports to bug-gnu-pspp@gnu.org.
-Changes from 0.6.2 to 0.7.9:
+Changes from 0.6.2 to 0.7.10:
* New commands:
contains an INCLUDE or INSERT command, substitutions are not
applied to the included file.
+ - FILE HANDLE has a new ENDS subcommand to select CR or CRLF new-lines.
+
- HOST has been updated to use more modern syntax.
- Most commands that work with data files now support a new
See the documentation for the INSERT command in the PSPP manual for
more information.
+ * Text data files that PRINT and WRITE creates now use the system
+ native line ends by default (CRLF on Windows, LF only elsewhere).
+ Use the new ENDS subcommand on FILE HANDLE to override the default.
+
* A new Perl module allows Perl programs to read and write PSPP
system files.
Gnulib does not maintain a stable API or ABI, so it is possible that
PSPP will not work with older or newer versions of Gnulib.
- commit f022473fdaf724d84817c4003120b9a38fbf884b
- Author: Ben Pfaff <blp@cs.stanford.edu>
- Date: Tue Dec 18 21:06:17 2012 -0800
+ commit 5191133e01659a051c21ea16765d9233b6a9fe47
+ Author: Paul Eggert <eggert@cs.ucla.edu>
+ Date: Tue Apr 30 23:14:19 2013 -0700
- New 'c-*printf' modules for formatted output in C locale.
+ utimensat-tests, etc.: try to fix some races
To clone Gnulib into a directory named "gnulib" using Git, and then
minmax \
mkdtemp \
mkstemp \
+ pipe2 \
printf-posix \
printf-safe \
progname \
relocatable-prog \
rename \
round \
+ select \
snprintf \
snprintf-posix \
sprintf-posix \
stdarg \
stdbool \
stdint \
+ strcasestr \
stpcpy \
strerror \
strftime \
dnl Initialize.
AC_PREREQ(2.63)
-AC_INIT([GNU PSPP], [0.7.9], [bug-gnu-pspp@gnu.org], [pspp])
+AC_INIT([GNU PSPP], [0.7.10], [bug-gnu-pspp@gnu.org], [pspp])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_TESTDIR([tests])
FILE HANDLE @var{handle_name}
/NAME='@var{file_name}
[/MODE=CHARACTER]
+ [/ENDS=@{CR,CRLF@}]
/TABWIDTH=@var{tab_width}
[ENCODING='@var{encoding}']
@itemize
@item
-In CHARACTER mode, the default, the data file is read as a text file,
-according to the local system's conventions, and each text line is
-read as one record.
+In CHARACTER mode, the default, the data file is read as a text file.
+Each text line is read as one record.
In CHARACTER mode only, tabs are expanded to spaces by input programs,
except by @cmd{DATA LIST FREE} with explicitly specified delimiters.
extension) may be used to specify an alternate width. Use a TABWIDTH
of 0 to suppress tab expansion.
+A file written in CHARACTER mode by default uses the line ends of the
+system on which PSPP is running, that is, on Windows, the default is
+CR LF line ends, and on other systems the default is LF only. Specify
+ENDS as CR or CRLF to override the default. PSPP reads files using
+either convention on any kind of system, regardless of ENDS.
+
@item
In IMAGE mode, the data file is treated as a series of fixed-length
binary records. LRECL should be used to specify the record length in
the page length. Default: @code{0}.
@item @option{-O box=@{ascii|unicode@}}
-Sets the characters used for lines in tables. The default,
-@code{ascii}, uses @samp{-}, @samp{|}, and @samp{+} for single-width
-lines and @samp{=} and @samp{#} for double-width lines. Specify
-@code{unicode} to use Unicode box drawing characters.
+Sets the characters used for lines in tables.
+If set to
+@code{ascii} the characters @samp{-}, @samp{|}, and @samp{+} for single-width
+lines and @samp{=} and @samp{#} for double-width lines are used.
+If set to @code{unicode} then Unicode box drawing characters will be used.
+The default is @code{unicode} if the locale's character encoding is "UTF-8"
+or @code{ascii} otherwise.
@item @option{-O emphasis=@{none|bold|underline@}}
How to emphasize text. Bold and underline emphasis are achieved with
appears or not.
If @samp{INTO @var{dest_vars}} does not appear, then values will be recoded
-``in place´´. This means that the recoded values are written back to the
+``in place´´.
+This means that the recoded values are written back to the
source variables from whence the original values came.
In this case, the @var{dest_value} for every mapping must imply a value which
has the same type as the @var{src_value}.
For example, if the source value is a string value, it is not permissible for
@var{dest_value} to be @samp{SYSMIS} or another forms which implies a numeric
result.
+It is also not permissible for @var{dest_value} to be longer than the width
+of the source variable.
+
The following example two numeric variables @var{x} and @var{y} are recoded
in place.
Zero is recoded to 99, the values 1 to 10 inclusive are unchanged,
Currently not used.
@item WORKSPACE
-The maximum amount of memory that @pspp{} will use to store data being processed.
+The maximum amount of memory (in kilobytes) that @pspp{} will use to store data being processed.
If memory in excess of the workspace size is required, then @pspp{} will start
to use temporary files to store the data.
Setting a higher value will, in general, mean procedures will run faster,
@vindex STRING
@display
-STRING /@var{var_list} (@var{fmt_spec}).
+STRING @var{var_list} (@var{fmt_spec}) [/@var{var_list} (@var{fmt_spec})] [@dots{}].
@end display
@cmd{STRING} creates new string variables for use in
transformations.
-Specify a slash (@samp{/}), followed by the names of the string
-variables to create and the desired output format specification in
-parentheses (@pxref{Input and Output Formats}). Variable widths are
+Specify a list of names for the variable you want to create,
+followed by the desired output format specification in
+parentheses (@pxref{Input and Output Formats}).
+Variable widths are
implicitly derived from the specified output formats.
+The created variables will be initialized to spaces.
+
+If you want to create several variables with distinct
+output formats, you can either use two or more separate @cmd{STRING} commands,
+or you can specify further variable list and format specification pairs, each separated
+from the previous by a slash (@samp{/}).
+
+The following example is one way to create three string variables; Two of the
+variables have format A24 and the other A80:
+@example
+STRING firstname lastname (A24) / address (A80).
+@end example
+
+@noindent Here is another way to achieve the same result:
+@example
+STRING firstname lastname (A24).
+STRING address (A80).
+@end example
+
+@noindent @dots{} and here is yet another way:
+
+@example
+STRING firstname (A24).
+STRING lastname (A24).
+STRING address (A80).
+@end example
+
-Created variables are initialized to spaces.
@node VARIABLE ATTRIBUTE
# Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
# This file is distributed under the same licence as the PSPP package.#
#
-# Mindaugas Baranauskas <embar@super.lt>, 2010, 2011, 2012.
+# Mindaugas Baranauskas <embar@super.lt>, 2010, 2011, 2012, 2013.
msgid ""
msgstr ""
-"Project-Id-Version: pspp-0.7.9\n"
+"Project-Id-Version: pspp-0.7.10\n"
"Report-Msgid-Bugs-To: pspp-dev@gnu.org\n"
-"POT-Creation-Date: 2012-02-03 19:12-0800\n"
-"PO-Revision-Date: 2012-02-28 09:47+0200\n"
+"POT-Creation-Date: 2013-03-26 21:38-0700\n"
+"PO-Revision-Date: 2013-03-30 12:49+0200\n"
"Last-Translator: Mindaugas Baranauskas <embar@super.lt>\n"
"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
"Language: lt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 1.4\n"
+"X-Generator: Lokalize 1.5\n"
"Plural-Forms: nplurals=4; plural=(n%10==1 ? 0 : n%10==1 && n%100!=11 ? 1 : n%10>=2 && (n%100<10 || n%100>=20) ? 2 : 3);\n"
-#: src/ui/gui/helper.c:153
+#: src/ui/gui/helper.c:204
msgid "Sorry. The help system hasn't yet been implemented."
msgstr "Atleiskite, žinynas dar nerealizuotas."
-#: src/ui/gui/psppire-buttonbox.c:329 src/ui/gui/psppire-buttonbox.c:487
+#: src/ui/gui/psppire-buttonbox.c:342
msgid "Continue"
msgstr "_Tęsti"
-#: src/ui/gui/psppire-buttonbox.c:485
-msgid "OK"
-msgstr "Gerai"
-
-#: src/ui/gui/psppire-buttonbox.c:486
-msgid "Go To"
-msgstr "Šokti į"
-
-#: src/ui/gui/psppire-buttonbox.c:488
-msgid "Cancel"
-msgstr "Atsisakyti"
-
-#: src/ui/gui/psppire-buttonbox.c:489
-msgid "Help"
-msgstr "Pagalba"
-
-#: src/ui/gui/psppire-buttonbox.c:490
-msgid "Reset"
-msgstr "Atstatyti"
-
-#: src/ui/gui/psppire-buttonbox.c:491
-msgid "Paste"
-msgstr "Įdėti"
-
#: src/ui/gui/psppire-dictview.c:466 src/language/dictionary/split-file.c:82
#: src/language/dictionary/sys-file-info.c:148
-#: src/language/dictionary/sys-file-info.c:331
-#: src/language/dictionary/sys-file-info.c:645
-#: src/language/stats/descriptives.c:895
-#: src/language/data-io/data-parser.c:683
-#: src/language/data-io/data-parser.c:722 src/language/data-io/print.c:403
+#: src/language/dictionary/sys-file-info.c:332
+#: src/language/dictionary/sys-file-info.c:650
+#: src/language/stats/descriptives.c:970
+#: src/language/data-io/data-parser.c:691
+#: src/language/data-io/data-parser.c:730 src/language/data-io/print.c:446
msgid "Variable"
msgstr "Kintamasis"
msgid "Prefer variable labels"
msgstr "Jei įmanoma, naudoti kintamųjų etiketes"
-#: src/ui/gui/psppire-var-view.c:192
+#: src/ui/gui/psppire-var-view.c:202
#, c-format
msgid "Var%d"
msgstr "Kint%d"
msgid "An error occurred while opening `%s': %s."
msgstr "Klaida bandant atverti „%s“: %s."
-#: src/data/any-reader.c:105
+#: src/data/any-reader.c:111
#, c-format
msgid "`%s' is not a system or portable file."
msgstr "„%s“ nėra nei sisteminė, nei perkeliama rinkmena"
-#: src/data/any-reader.c:111 src/data/any-writer.c:67
+#: src/data/any-reader.c:117 src/data/any-writer.c:67
msgid "The inline file is not allowed here."
msgstr "Į vidų įterpti rinkmeną neleidžiama."
msgid "CSV file"
msgstr "CSV rinkmena"
-#: src/data/csv-file-writer.c:161 src/data/sys-file-writer.c:225
+#: src/data/csv-file-writer.c:161 src/data/sys-file-writer.c:227
#, c-format
msgid "Error opening `%s' for writing as a system file: %s."
msgstr "Klaida atveriant „%s“ rašymui į sisteminę rinkmeną: %s."
-#: src/data/csv-file-writer.c:462
+#: src/data/csv-file-writer.c:460
#, c-format
msgid "An I/O error occurred writing CSV file `%s'."
msgstr "Įvedimo/išvedimo klaida įrašant CSV rinkmeną „%s“."
msgid "Data is not valid as format %s: %s"
msgstr "duomenys neatitinka %s formato: %s"
-#: src/data/data-in.c:376 src/data/data-in.c:552
+#: src/data/data-in.c:373 src/data/data-in.c:549
msgid "Field contents are not numeric."
msgstr "lauko turinys nėra skaitmeninis."
-#: src/data/data-in.c:378 src/data/data-in.c:554
+#: src/data/data-in.c:375 src/data/data-in.c:551
msgid "Number followed by garbage."
msgstr "Už skaičiaus yra šiukšlių."
-#: src/data/data-in.c:391
+#: src/data/data-in.c:388
msgid "Invalid numeric syntax."
msgstr "Neteisinga skaitmeninė sintaksė."
-#: src/data/data-in.c:399 src/data/data-in.c:570
+#: src/data/data-in.c:396 src/data/data-in.c:567
msgid "Too-large number set to system-missing."
msgstr "Per didelis skaičius nustatytas kaip „sisteminė praleista“ reikšmė."
-#: src/data/data-in.c:405 src/data/data-in.c:576
+#: src/data/data-in.c:402 src/data/data-in.c:573
msgid "Too-small number set to zero."
msgstr "Per mažas skaičius nustatytas kaip nulis."
-#: src/data/data-in.c:425
+#: src/data/data-in.c:422
msgid "All characters in field must be digits."
msgstr "Visi lauko rašmenys turi būti skaitmenys."
-#: src/data/data-in.c:444
+#: src/data/data-in.c:441
msgid "Unrecognized character in field."
msgstr "Lauke yra neatpažintas rašmuo."
-#: src/data/data-in.c:465 src/data/data-in.c:728
+#: src/data/data-in.c:462 src/data/data-in.c:725
msgid "Field must have even length."
msgstr "Laukas privalo būti pakankamo ilgio."
-#: src/data/data-in.c:467 src/data/data-in.c:731
+#: src/data/data-in.c:464 src/data/data-in.c:728
msgid "Field must contain only hex digits."
msgstr "Lauke gali būti tik šešioliktainiai skaitmenys."
-#: src/data/data-in.c:543
+#: src/data/data-in.c:540
msgid "Invalid zoned decimal syntax."
msgstr ""
-#: src/data/data-in.c:643 src/data/data-in.c:649
+#: src/data/data-in.c:640 src/data/data-in.c:646
msgid "Invalid syntax for P field."
msgstr "Neteisinga P lauko sintaksė."
-#: src/data/data-in.c:767 src/data/data-in.c:813
+#: src/data/data-in.c:764 src/data/data-in.c:810
msgid "Syntax error in date field."
msgstr "Sintaksės klaida datos lauke."
-#: src/data/data-in.c:782
+#: src/data/data-in.c:779
#, c-format
msgid "Day (%ld) must be between 1 and 31."
msgstr "Diena (%ld) turi būti skaičius nuo 1 iki 31."
-#: src/data/data-in.c:827
+#: src/data/data-in.c:824
msgid "Delimiter expected between fields in date."
msgstr "Tarp datos laukų tikėtasi rasti skirtuką."
-#: src/data/data-in.c:901
+#: src/data/data-in.c:898
msgid "Unrecognized month format. Months may be specified as Arabic or Roman numerals or as at least 3 letters of their English names."
msgstr "Mėnesio formatas neatpažintas. Mėnesį galite nurodyti arabiškais arba romėniškais skaitmenimis arba angliškų mėnesių pavadinimų bent trimis pirmosiomis raidėmis."
-#: src/data/data-in.c:928
+#: src/data/data-in.c:925
#, c-format
msgid "Year (%ld) must be between 1582 and 19999."
msgstr "Metai (%ld) turi būti iš intervalo nuo 1582 iki 19999."
-#: src/data/data-in.c:939
+#: src/data/data-in.c:936
#, c-format
msgid "Trailing garbage `%.*s' following date."
msgstr "Už datos yra šiukšlė „%.*s“."
-#: src/data/data-in.c:953
+#: src/data/data-in.c:950
msgid "Julian day must have exactly three digits."
msgstr "Julijaus dieną turi sudaryti būtent trys skaitmenys"
-#: src/data/data-in.c:955
+#: src/data/data-in.c:952
#, c-format
msgid "Julian day (%ld) must be between 1 and 366."
msgstr "Julijaus diena (%ld) turi būti skaičius nuo 1 iki 366."
-#: src/data/data-in.c:979
+#: src/data/data-in.c:976
#, c-format
msgid "Quarter (%ld) must be between 1 and 4."
msgstr "Kvartilis (%ld) turi būti skaičius nuo 1 iki 4."
-#: src/data/data-in.c:1000
+#: src/data/data-in.c:997
#, c-format
msgid "Week (%ld) must be between 1 and 53."
msgstr "Savaitė (%ld) turi būti iš intervalo tarp 1 ir 53."
-#: src/data/data-in.c:1012
+#: src/data/data-in.c:1009
msgid "Delimiter expected between fields in time."
msgstr "Tarp laiko laukų tikėtasi rasti skirtuką."
-#: src/data/data-in.c:1032
+#: src/data/data-in.c:1029
#, c-format
msgid "Minute (%ld) must be between 0 and 59."
msgstr "Minutė (%ld) turi būti iš intervalo nuo 0 iki 59."
-#: src/data/data-in.c:1070
+#: src/data/data-in.c:1067
msgid "Unrecognized weekday name. At least the first two letters of an English weekday name must be specified."
msgstr "Savaitės diena neatpažinta. Turi būti nurodytos angliško pavadinimo bent dvi pirmosios raidės (mo, tu, we, th, fr, sa, su)."
-#: src/data/data-in.c:1196
+#: src/data/data-in.c:1197
#, c-format
msgid "`%c' expected in date field."
msgstr "Datos laukelyje tikėtasi „%c“."
-#: src/data/data-out.c:546
+#: src/data/data-out.c:544
#, c-format
msgid "Weekday number %f is not between 1 and 7."
msgstr "Savaitės dienos numeris %f nėra tarp 1 ir 7."
-#: src/data/data-out.c:571
+#: src/data/data-out.c:569
#, c-format
msgid "Month number %f is not between 1 and 12."
msgstr "Mėnesio numeris %f nėra tarp 1 ir 12."
#. TRANSLATORS: this fragment will be interpolated into
#. messages in fh_lock() that identify types of files.
-#: src/data/dataset-writer.c:66 src/language/data-io/file-handle.q:187
+#: src/data/dataset-writer.c:66 src/language/data-io/file-handle.q:198
msgid "dataset"
msgstr "duomenų rinkinys"
msgid "scratch"
msgstr ""
-#: src/data/dictionary.c:1004
+#: src/data/dictionary.c:1005
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 "Nuskaitytoje rinkmenoje bent vienas atvejis turi svorio reikšmę, kuri yra naudotojo apibrėžta kaip praleista, sisteminė praleista, nulis arba neigiamas skaičius. Šie atvejai ignoruojami."
-#: src/data/dictionary.c:1330
+#: src/data/dictionary.c:1334
#, c-format
msgid "Truncating document line to %d bytes."
msgstr "Dokumento eilutė sutrumpinta iki %d bitų(-o)."
-#: src/data/file-handle-def.c:254
+#: src/data/file-handle-def.c:257
msgid "active dataset"
msgstr "veikiamasis duomenų rinkinys"
-#: src/data/file-handle-def.c:465
+#: src/data/file-handle-def.c:482
#, c-format
msgid "Can't read from %s as a %s because it is already being read as a %s."
msgstr "Negalima skaityti iš %s kaip %s, nes jau skaitoma kaip %s."
-#: src/data/file-handle-def.c:469
+#: src/data/file-handle-def.c:486
#, c-format
msgid "Can't write to %s as a %s because it is already being written as a %s."
msgstr "Negalima rašyti į %s kaip %s, nes jau rašoma kaip %s."
-#: src/data/file-handle-def.c:476
+#: src/data/file-handle-def.c:493
#, c-format
msgid "Can't re-open %s as a %s."
msgstr "Negalima iš naujo atverti %s kaip %s."
msgid "Not opening pipe file `%s' because SAFER option set."
msgstr ""
-#: src/data/format.c:320
+#: src/data/format.c:329
msgid "Input format"
msgstr "Įvedimo formatas"
-#: src/data/format.c:320
+#: src/data/format.c:329
msgid "Output format"
msgstr "Išvedimo formatas"
-#: src/data/format.c:329
+#: src/data/format.c:332
#, c-format
msgid "Format %s may not be used for input."
msgstr "Formato %s negalima naudoti įvedimui."
-#: src/data/format.c:336
+#: src/data/format.c:339
#, c-format
msgid "%s specifies width %d, but %s requires an even width."
msgstr "%s nurodo %d plotį, bet %s turėtų būti lyginio pločio."
-#: src/data/format.c:345
+#: src/data/format.c:348
#, c-format
msgid "%s %s specifies width %d, but %s requires a width between %d and %d."
msgstr "%s %s nurodo %d plotį, bet %s turėtų būti nuo %d iki %d pločio."
-#: src/data/format.c:354
+#: src/data/format.c:357
#, c-format
msgid "%s %s specifies %d decimal place, but %s does not allow any decimals."
msgid_plural "%s %s specifies %d decimal places, but %s does not allow any decimals."
msgstr[2] "%s %s nurodo %d dešimtaines skiltis, bet %s neleidžia naudoti dešimtainių skilčių."
msgstr[3] "%s %s nurodo %d dešimtainių skilčių, bet %s neleidžia naudoti dešimtainių skilčių."
-#: src/data/format.c:365
+#: src/data/format.c:368
#, c-format
msgid "%s %s specifies %d decimal place, but the given width allows at most %d decimals."
msgid_plural "%s %s specifies %d decimal places, but the given width allows at most %d decimals."
msgstr[2] "%s %s nurodo %d dešimtaines skiltis, bet nurodytas plotis leistų iki %d skaitmenų po kablelio."
msgstr[3] "%s %s nurodo %d dešimtainių skilčių, bet nurodytas plotis leistų iki %d skaitmenų po kablelio."
-#: src/data/format.c:372
+#: src/data/format.c:375
#, c-format
msgid "%s %s specifies %d decimal place, but the given width does not allow for any decimals."
msgid_plural "%s %s specifies %d decimal places, but the given width does not allow for any decimals."
msgstr[2] "%s %s nurodo %d dešimtaines skiltis, bet nurodytas plotis neleistų naudoti dešimtainių skilčių."
msgstr[3] "%s %s nurodo %d dešimtainių skilčių, bet nurodytas plotis neleistų naudoti dešimtainių skilčių."
-#: src/data/format.c:411
+#: src/data/format.c:414
#, c-format
msgid "%s variables are not compatible with %s format %s."
msgstr "%s kintamieji nesuderinami su %s formatu %s."
-#: src/data/format.c:412 src/data/format.c:961 src/ui/gui/compute.ui:503
-#: src/ui/gui/var-sheet-dialogs.ui:139
+#: src/data/format.c:415 src/data/format.c:1006
+#: src/ui/gui/var-type-dialog.ui:143
msgid "String"
msgstr "Teksto eilutė"
-#: src/data/format.c:412 src/data/format.c:924 src/ui/gui/compute.ui:584
-#: src/ui/gui/var-sheet-dialogs.ui:27
+#: src/data/format.c:415 src/data/format.c:969
+#: src/ui/gui/var-type-dialog.ui:31
msgid "Numeric"
msgstr "Skaitmeninis"
-#: src/data/format.c:413 src/data/sys-file-reader.c:1674
-#: src/data/sys-file-reader.c:1676 src/language/xforms/recode.c:506
+#: src/data/format.c:416 src/data/sys-file-reader.c:1719
+#: src/data/sys-file-reader.c:1721 src/language/xforms/recode.c:506
#: src/language/xforms/recode.c:507 src/language/xforms/recode.c:519
#: src/language/xforms/recode.c:520
#: src/language/dictionary/apply-dictionary.c:77
msgid "numeric"
msgstr "skaitmeninis"
-#: src/data/format.c:413 src/data/sys-file-reader.c:1674
-#: src/data/sys-file-reader.c:1676 src/language/xforms/recode.c:506
+#: src/data/format.c:416 src/data/sys-file-reader.c:1719
+#: src/data/sys-file-reader.c:1721 src/language/xforms/recode.c:506
#: src/language/xforms/recode.c:507 src/language/xforms/recode.c:519
#: src/language/xforms/recode.c:520
#: src/language/dictionary/apply-dictionary.c:77
msgid "string"
msgstr "teksto eilutė "
-#: src/data/format.c:431
+#: src/data/format.c:434
#, c-format
msgid "String variable with width %d is not compatible with format %s."
msgstr "Teksto eilutės kintamasis, kurio plotis %d, yra nesuderinamas su %s formatu."
-#: src/data/format.c:927 src/ui/gui/var-sheet-dialogs.ui:43
+#: src/data/format.c:972 src/ui/gui/var-type-dialog.ui:47
msgid "Comma"
msgstr "Su kableliu"
-#: src/data/format.c:930 src/ui/gui/var-sheet-dialogs.ui:59
+#: src/data/format.c:975 src/ui/gui/var-type-dialog.ui:63
msgid "Dot"
msgstr "Su tašku"
-#: src/data/format.c:933
+#: src/data/format.c:978
msgid "Scientific"
msgstr "Mokslinis"
-#: src/data/format.c:948 src/ui/gui/var-sheet-dialogs.ui:91
+#: src/data/format.c:993 src/ui/gui/var-type-dialog.ui:95
msgid "Date"
msgstr "Data"
-#: src/data/format.c:951 src/ui/gui/var-sheet-dialogs.ui:107
+#: src/data/format.c:996 src/ui/gui/var-type-dialog.ui:111
msgid "Dollar"
msgstr "Doleriai"
-#: src/data/format.c:958
+#: src/data/format.c:1003
msgid "Custom"
msgstr "Savitas"
-#: src/data/gnumeric-reader.c:35 src/data/ods-reader.c:38
+#: src/data/gnumeric-reader.c:36 src/data/ods-reader.c:41
#, c-format
msgid "Support for %s files was not compiled into this installation of PSPP"
msgstr "%s rinkmenų palaikymas nebuvo sukonfigūruotas kompiliuojant PSPP"
-#: src/data/gnumeric-reader.c:289
+#: src/data/gnumeric-reader.c:448 src/data/ods-reader.c:538
+#, c-format
+msgid "There was a problem whilst reading the %s file `%s' (near line %d): `%s'"
+msgstr ""
+
+#: src/data/gnumeric-reader.c:536
#, c-format
-msgid "Error opening `%s' for reading as a Gnumeric file: %s."
-msgstr "Klaida skaitymui atveriant „%s“ kaip Gnumeric rinkmeną: %s."
+msgid "The gnumeric file `%s' is encoded as %s instead of the usual UTF-8 encoding. Any non-ascii characters will be incorrectly imported."
+msgstr ""
-#: src/data/gnumeric-reader.c:309 src/data/ods-reader.c:391
+#: src/data/gnumeric-reader.c:582 src/data/ods-reader.c:655
#, c-format
msgid "Invalid cell range `%s'"
msgstr "Netinkama langelių sritis „%s“"
-#: src/data/gnumeric-reader.c:447 src/data/ods-reader.c:430
-#: src/data/ods-reader.c:545
+#: src/data/gnumeric-reader.c:728 src/data/ods-reader.c:686
+#: src/data/ods-reader.c:822
#, c-format
msgid "Selected sheet or range of spreadsheet `%s' is empty."
msgstr "Pasirinktas lakštas arba skaičialentės sritis „%s“ yra tuščia."
msgid "%s is not a valid name for a multiple response set. Multiple response set names must begin with `$'."
msgstr ""
-#: src/data/ods-reader.c:359
-#, c-format
-msgid "Error opening `%s' for reading as a OpenDocument spreadsheet file: %s."
-msgstr "Klaida skaitymui atveriant „%s“ kaip OpenDocument skaičialentės rinkmeną: %s."
-
-#: src/data/ods-reader.c:368
+#: src/data/ods-reader.c:593
#, c-format
-msgid "Could not extract OpenDocument spreadsheet from file `%s': %s."
-msgstr "Iš rinkmenos „%s“ nepavyksta ištraukti OpenDocument skaičialentės: %s."
+msgid "Cannot open %s as a OpenDocument file: %s"
+msgstr "Nepavyksta atverti „%s“ tarsi OpenDocument rinkmenos: %s"
#: src/data/por-file-reader.c:101
#, c-format
msgid "Unrecognized version code `%c'."
msgstr "neatpažintas versijos kodas „%c“."
-#: src/data/por-file-reader.c:557
+#: src/data/por-file-reader.c:561
#, c-format
msgid "Bad date string length %zu."
msgstr "Netinkamas tekstinės eilutės ilgis %zu."
-#: src/data/por-file-reader.c:559
+#: src/data/por-file-reader.c:563
#, c-format
msgid "Bad time string length %zu."
msgstr "Netinkamas laiko ilgis %zu."
-#: src/data/por-file-reader.c:601
+#: src/data/por-file-reader.c:605
#, c-format
msgid "%s: Bad format specifier byte (%d). Variable will be assigned a default format."
msgstr "%s: Blogas formatą nurodantis baitas (%d). Kintamajam bus priskirtas numatytasis formatas."
-#: src/data/por-file-reader.c:622
+#: src/data/por-file-reader.c:626
#, c-format
msgid "Numeric variable %s has invalid format specifier %s."
msgstr "Skaitmeniniam kintamajam %s nurodytas netinkamas formatas %s."
-#: src/data/por-file-reader.c:626
+#: src/data/por-file-reader.c:630
#, c-format
msgid "String variable %s with width %d has invalid format specifier %s."
msgstr "Tekstiniam kintamajam %s, kurio plotis %d, nurodytas netinkamas formatas %s."
-#: src/data/por-file-reader.c:650
+#: src/data/por-file-reader.c:654
msgid "Expected variable count record."
msgstr "Tikėtasi kintamųjų skaičiaus įrašo."
-#: src/data/por-file-reader.c:654
+#: src/data/por-file-reader.c:658
#, c-format
msgid "Invalid number of variables %d."
msgstr "Netinkamas kintamųjų skaičius %d."
-#: src/data/por-file-reader.c:663
+#: src/data/por-file-reader.c:667
#, c-format
msgid "Weight variable name (%s) truncated."
msgstr "Svėrimo kintamojo vardas (%s) sutrumpintas."
-#: src/data/por-file-reader.c:678
+#: src/data/por-file-reader.c:682
msgid "Expected variable record."
msgstr "Tikėtasi kintamojo įrašo."
-#: src/data/por-file-reader.c:682
+#: src/data/por-file-reader.c:686
#, c-format
msgid "Invalid variable width %d."
msgstr "Netinkamas kintamojo plotis %d."
-#: src/data/por-file-reader.c:690
+#: src/data/por-file-reader.c:694
#, c-format
msgid "Invalid variable name `%s' in position %d."
msgstr "Netinkamas kintamojo vardas „%s“ ties %d padėtimi."
-#: src/data/por-file-reader.c:694 src/data/sys-file-reader.c:963
+#: src/data/por-file-reader.c:698 src/data/sys-file-reader.c:1005
#, c-format
msgid "Bad width %d for variable %s."
msgstr "Plotis %d yra netinkamas kintamajam %s."
-#: src/data/por-file-reader.c:708
+#: src/data/por-file-reader.c:712
#, c-format
msgid "Duplicate variable name %s in position %d renamed to %s."
msgstr "Besikartojantis kintamojo vardas %s ties %d padėtimi pakeistas į %s."
-#: src/data/por-file-reader.c:757
+#: src/data/por-file-reader.c:761
#, c-format
msgid "Weighting variable %s not present in dictionary."
msgstr "Svėrimo kintamojo %s žodyne nėra."
-#: src/data/por-file-reader.c:801
+#: src/data/por-file-reader.c:805
#, c-format
msgid "Unknown variable %s while parsing value labels."
msgstr "Nežinomas kintamasis %s analizuojant reikšmių etiketes."
-#: src/data/por-file-reader.c:804
+#: src/data/por-file-reader.c:808
#, c-format
msgid "Cannot assign value labels to %s and %s, which have different variable types."
msgstr "Negalima priskirti reikšmių etikečių prie %s ir %s, kurie turi skirtingus kintamųjų tipus."
msgid "Error opening `%s' for writing as a portable file: %s."
msgstr "Klaida atveriant rašymui „%s“ kaip perkeliamą rinkmeną: %s."
-#: src/data/por-file-writer.c:502
+#: src/data/por-file-writer.c:505
#, c-format
msgid "An I/O error occurred writing portable file `%s'."
msgstr "Įvedimo/išvedimo klaida rašant perkeliamą rinkmeną „%s“."
-#: src/data/psql-reader.c:47
+#: src/data/psql-reader.c:48
msgid "Support for reading postgres databases was not compiled into this installation of PSPP"
msgstr "Postgres duomenų bazių skaitymo palaikymas nebuvo sukonfigūruotas šioje PSPP kompiliacijoje"
-#: src/data/psql-reader.c:241
+#: src/data/psql-reader.c:242
msgid "Memory error whilst opening psql source"
msgstr "Atminties klaida atveriant psql šaltinį"
-#: src/data/psql-reader.c:247
+#: src/data/psql-reader.c:248
#, c-format
msgid "Error opening psql source: %s."
msgstr "Klaida bandant atverti psql šaltinį: %s."
-#: src/data/psql-reader.c:262
+#: 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 "Postgres serverio versija yra %s. Skaitymas iš senesnių nei 8.0 versijos nepalaikomas."
-#: src/data/psql-reader.c:282
+#: src/data/psql-reader.c:283
msgid "Connection is unencrypted, but unencrypted connections have not been permitted."
msgstr "Ryšys nešifruotas, bet nešifruotasis ryšys neleidžiamas."
-#: src/data/psql-reader.c:318 src/data/psql-reader.c:343
-#: src/data/psql-reader.c:353
+#: src/data/psql-reader.c:319 src/data/psql-reader.c:344
+#: src/data/psql-reader.c:354
#, c-format
msgid "Error from psql source: %s."
msgstr "psql šaltinio klaida: %s."
-#: src/data/psql-reader.c:448
+#: src/data/psql-reader.c:449
#, c-format
msgid "Unsupported OID %d. SYSMIS values will be inserted."
msgstr "Nepalaikomas OID %d. Bus įterptos SYSMIS reikšmės."
#. TRANSLATORS: this fragment will be interpolated into
#. messages in fh_lock() that identify types of files.
-#: src/data/sys-file-reader.c:324 src/data/sys-file-writer.c:213
+#: src/data/sys-file-reader.c:361 src/data/sys-file-writer.c:215
msgid "system file"
msgstr "sisteminė rinkmena"
-#: src/data/sys-file-reader.c:331
+#: src/data/sys-file-reader.c:368
#, c-format
msgid "Error opening `%s' for reading as a system file: %s."
msgstr "Klaida atveriant „%s“ skaitymui kaip iš sisteminės rinkmenos: %s."
-#: src/data/sys-file-reader.c:388
+#: src/data/sys-file-reader.c:420
msgid "Misplaced type 4 record."
msgstr "4-to tipo įrašas padėtas ne vietoje."
-#: src/data/sys-file-reader.c:392
+#: src/data/sys-file-reader.c:424
msgid "Duplicate type 6 (document) record."
msgstr "6-to tipo (dokumento) besikartojantis įrašas."
-#: src/data/sys-file-reader.c:401 src/data/sys-file-reader.c:900
+#: src/data/sys-file-reader.c:433 src/data/sys-file-reader.c:929
#, 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 "Įrašo 7-tas tipas, %d potipis neatpažintas. Šios rinkmenos kopiją bei sintaksę, kuri ją sukūrė, siųskite %s."
-#: src/data/sys-file-reader.c:410
+#: src/data/sys-file-reader.c:442
#, c-format
msgid "Record type 7, subtype %d found here has the same type as the record found near offset 0x%llx. Please send a copy of this file, and the syntax which created it to %s."
msgstr "Įrašo 7-tas tipas, %d potipis yra to paties tipo kaip kaip įrašas ties 0x%llx poslinkiu. Šios rinkmenos kopiją bei sintaksę, kuri ją sukūrė, siųskite %s."
-#: src/data/sys-file-reader.c:423
+#: src/data/sys-file-reader.c:455
#, c-format
msgid "Unrecognized record type %d."
msgstr "Neatpažintas įrašo %d tipas."
-#: src/data/sys-file-reader.c:467
+#: src/data/sys-file-reader.c:502
#, c-format
msgid "Weighting variable must be numeric (not string variable `%s')."
msgstr "Svėrimo kintamasis turi būti skaitmeninis (ne teksto eilutės kintamasis „%s“)."
-#: src/data/sys-file-reader.c:502
+#: src/data/sys-file-reader.c:537
#, c-format
msgid "File header claims %d variable positions but %zu were read from file."
msgstr ""
-#: src/data/sys-file-reader.c:542
+#: src/data/sys-file-reader.c:589
#, c-format
msgid "Error closing system file `%s': %s."
msgstr "Sisteminės rinkmenos „%s“ užvėrimo klaida: %s."
-#: src/data/sys-file-reader.c:604 src/data/sys-file-reader.c:614
+#: src/data/sys-file-reader.c:642 src/data/sys-file-reader.c:652
msgid "This is not an SPSS system file."
msgstr "Tai ne SPSS sisteminė rinkmena."
-#: src/data/sys-file-reader.c:636
+#: src/data/sys-file-reader.c:675
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:712
+#: src/data/sys-file-reader.c:741
msgid "Variable label indicator field is not 0 or 1."
msgstr "Kintamojo etiketės indikatoriaus laukas nėra 0 arba 1."
-#: src/data/sys-file-reader.c:722
+#: src/data/sys-file-reader.c:751
msgid "Numeric missing value indicator field is not -3, -2, 0, 1, 2, or 3."
msgstr "Skaitmeninis praleistos reikšmės indikatoriaus laukas nėra -3, -2, 0, 1, 2 arba 3."
-#: src/data/sys-file-reader.c:729
+#: src/data/sys-file-reader.c:758
msgid "String missing value indicator field is not 0, 1, 2, or 3."
msgstr "Teksto eilutės praleistos reikšmės indikatoriaus laukas nėra 0, 1, 2 arba 3."
-#: src/data/sys-file-reader.c:749
+#: src/data/sys-file-reader.c:778
#, c-format
msgid "Invalid number of labels %zu."
msgstr "Netinkamas etikečių skaičius %zu."
-#: src/data/sys-file-reader.c:774
+#: src/data/sys-file-reader.c:803
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:782
+#: src/data/sys-file-reader.c:811
#, c-format
msgid "Number of variables associated with a value label (%zu) is not between 1 and the number of variables (%zu)."
msgstr ""
-#: src/data/sys-file-reader.c:803
+#: src/data/sys-file-reader.c:832
#, c-format
msgid "Number of document lines (%d) must be greater than 0 and less than %d."
msgstr ""
-#: src/data/sys-file-reader.c:876
+#: src/data/sys-file-reader.c:905
#, c-format
msgid "Record type 7, subtype %d has bad size %zu (expected %d)."
msgstr "7-to tipo įrašo, %d potipio dydis %zu yra blogas (tikėtasi %d)."
-#: src/data/sys-file-reader.c:880
+#: src/data/sys-file-reader.c:909
#, c-format
msgid "Record type 7, subtype %d has bad count %zu (expected %d)."
msgstr "7-to tipo įrašo, %d potipio skaičius %zu yra blogas (tikėtasi %d)."
-#: src/data/sys-file-reader.c:959
+#: src/data/sys-file-reader.c:1001
#, c-format
msgid "Invalid variable name `%s'."
msgstr "Netinkamas kintamojo vardas „%s“."
-#: src/data/sys-file-reader.c:967
+#: src/data/sys-file-reader.c:1009
#, c-format
msgid "Duplicate variable name `%s'."
msgstr "Kintamojo vardas „%s“ kartojasi."
-#: src/data/sys-file-reader.c:1038
+#: src/data/sys-file-reader.c:1080
msgid "Missing string continuation record."
msgstr ""
-#: src/data/sys-file-reader.c:1080
+#: src/data/sys-file-reader.c:1122
#, c-format
msgid "Variable %s with width %d has invalid print format 0x%x."
msgstr "%s kintamasis, kurio plotis %d, turi netinkamą spausdinimo formatą 0x%x."
-#: src/data/sys-file-reader.c:1084
+#: src/data/sys-file-reader.c:1126
#, c-format
msgid "Variable %s with width %d has invalid write format 0x%x."
msgstr "%s kintamasis, kurio plotis %d, turi netinkamą rašymo formatą 0x%x."
-#: src/data/sys-file-reader.c:1089
+#: src/data/sys-file-reader.c:1131
msgid "Suppressing further invalid format warnings."
msgstr "Tolesni įspėjimai apie netinkamą formatą nerodomi."
-#: src/data/sys-file-reader.c:1141
+#: src/data/sys-file-reader.c:1183
#, c-format
msgid "Floating-point representation indicated by system file (%d) differs from expected (%d)."
msgstr "Slankiojo kablelio vaizdavimas, kuris nurodytas sisteminėje rinkmenoje (%d), skiriasi nuo to, kurio tikėtasi (%d)."
-#: src/data/sys-file-reader.c:1155
+#: src/data/sys-file-reader.c:1197
#, c-format
msgid "Integer format indicated by system file (%d) differs from expected (%d)."
msgstr "Sveikojo skaičiaus formatas, kuris nurodytas sisteminę rinkmeną (%d), skiriasi nuo to, kurio tikėtasi (%d)."
-#: src/data/sys-file-reader.c:1214 src/data/sys-file-reader.c:1218
-#: src/data/sys-file-reader.c:1222
+#: src/data/sys-file-reader.c:1261 src/data/sys-file-reader.c:1265
+#: src/data/sys-file-reader.c:1269
#, c-format
msgid "File specifies unexpected value %g as %s."
msgstr "Rinkmena netikėtą reikšmę %g apibrėžia kaip %s."
-#: src/data/sys-file-reader.c:1255
+#: src/data/sys-file-reader.c:1302
#, c-format
msgid "`%s' does not begin with `$' at offset %zu in MRSETS record."
msgstr ""
-#: src/data/sys-file-reader.c:1266 src/data/sys-file-reader.c:1285
+#: src/data/sys-file-reader.c:1313 src/data/sys-file-reader.c:1332
#, c-format
msgid "Missing space following `%c' at offset %zu in MRSETS record."
msgstr ""
-#: src/data/sys-file-reader.c:1295
+#: src/data/sys-file-reader.c:1342
#, c-format
msgid "Unexpected label source value `%s' following `E' at offset %zu in MRSETS record."
msgstr ""
-#: src/data/sys-file-reader.c:1302
+#: src/data/sys-file-reader.c:1349
#, c-format
msgid "Missing `C', `D', or `E' at offset %zu in MRSETS record."
msgstr ""
-#: src/data/sys-file-reader.c:1334
+#: src/data/sys-file-reader.c:1381
#, c-format
msgid "Missing new-line parsing variable names at offset %zu in MRSETS record."
msgstr ""
-#: src/data/sys-file-reader.c:1350
+#: src/data/sys-file-reader.c:1397
#, c-format
msgid "Duplicate variable name %s at offset %zu in MRSETS record."
msgstr ""
-#: src/data/sys-file-reader.c:1366
+#: src/data/sys-file-reader.c:1413
#, c-format
msgid "MRSET %s contains both string and numeric variables."
msgstr "MRSET %s turi ir tekstinės eilutės, ir skaitmeninius kintamuosius."
-#: src/data/sys-file-reader.c:1382
+#: src/data/sys-file-reader.c:1429
#, c-format
msgid "MRSET %s has only %zu variables."
msgstr "MRSET %s turi tik %zu kintamuosius."
-#: src/data/sys-file-reader.c:1428
+#: src/data/sys-file-reader.c:1476
#, c-format
msgid "Extension 11 has bad count %zu (for %zu variables)."
msgstr ""
-#: src/data/sys-file-reader.c:1462
+#: src/data/sys-file-reader.c:1510
#, c-format
msgid "Invalid variable display parameters for variable %zu (%s). Default parameters substituted."
msgstr ""
-#: src/data/sys-file-reader.c:1559
+#: src/data/sys-file-reader.c:1604
#, c-format
msgid "Long variable mapping from %s to invalid variable name `%s'."
msgstr ""
-#: src/data/sys-file-reader.c:1570
+#: src/data/sys-file-reader.c:1615
#, c-format
msgid "Duplicate long variable name `%s'."
msgstr "Ilgas kintamojo vardas „%s“ kartojasi."
-#: src/data/sys-file-reader.c:1603
+#: src/data/sys-file-reader.c:1648
#, c-format
msgid "%s listed as string of invalid length %s in very long string record."
msgstr "%s pateiktas kaip netinkamo ilgio %s teksto eilutė labai ilgame teksto eilutės įraše."
-#: src/data/sys-file-reader.c:1614
+#: src/data/sys-file-reader.c:1659
#, c-format
msgid "%s listed in very long string record with width %s, which requires only one segment."
msgstr "%s pateiktas labai ilgame teksto eilutės įraše, kurio plotis %s, ir kuris reikalauja tik vieno segmento."
-#: src/data/sys-file-reader.c:1621
+#: src/data/sys-file-reader.c:1666
#, c-format
msgid "Very long string %s overflows dictionary."
msgstr "Labai ilga teksto eilutė %s netelpa žodyne."
-#: src/data/sys-file-reader.c:1636
+#: src/data/sys-file-reader.c:1681
#, c-format
msgid "Very long string with width %ld has segment %d of width %d (expected %d)."
msgstr "Labai ilga tekstinė eilutė, kurios plotis %ld, turi segmentą %d, kurio plotis %d (tikėtasi %d)."
-#: src/data/sys-file-reader.c:1670
+#: src/data/sys-file-reader.c:1715
#, 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:1687
+#: src/data/sys-file-reader.c:1732
#, c-format
msgid "Value labels may not be added to long string variables (e.g. %s) using records types 3 and 4."
msgstr "Kintamųjų etiketės negali būti priskiriamos ilgų tekstinių eilučių kintamiesiems (pvz., %s), jei įrašo tipas yra 3 arba 4."
-#: src/data/sys-file-reader.c:1706
+#: src/data/sys-file-reader.c:1751
#, c-format
msgid "Duplicate value label for %g on %s."
msgstr ""
-#: src/data/sys-file-reader.c:1710 src/data/sys-file-reader.c:1952
+#: src/data/sys-file-reader.c:1755 src/data/sys-file-reader.c:1997
#, c-format
msgid "Duplicate value label for `%.*s' on %s."
msgstr ""
-#: src/data/sys-file-reader.c:1735
+#: src/data/sys-file-reader.c:1780
#, c-format
msgid "Variable index %d not in valid range 1...%zu."
msgstr "Kintamojo indeksas %d nepriklauso tinkamam intervalui nuo 1 iki %zu."
-#: src/data/sys-file-reader.c:1744
+#: src/data/sys-file-reader.c:1789
#, c-format
msgid "Variable index %d refers to long string continuation."
msgstr ""
-#: src/data/sys-file-reader.c:1780
+#: src/data/sys-file-reader.c:1825
#, c-format
msgid "Error parsing attribute value %s[%d]."
msgstr "Klaida nagrinėjant atributo reikšmę %s[%d]."
-#: src/data/sys-file-reader.c:1794
+#: src/data/sys-file-reader.c:1839
#, c-format
msgid "Attribute value %s[%d] is not quoted: %s."
msgstr "Atributo reikšmė %s[%d] be kabučių: %s."
-#: src/data/sys-file-reader.c:1847
+#: src/data/sys-file-reader.c:1892
msgid "Long string value label record ends unexpectedly."
msgstr "Netikėtai baigiasi Ilgos tekstinės eilutės reikšmės etiketės įrašas."
-#: src/data/sys-file-reader.c:1886
+#: src/data/sys-file-reader.c:1931
#, c-format
msgid "Ignoring long string value record for unknown variable %s."
msgstr "Nepaisoma nežinomo kintamojo %s ilgos tekstinės eilutės reikšmės įrašo."
-#: src/data/sys-file-reader.c:1891
+#: src/data/sys-file-reader.c:1936
#, c-format
msgid "Ignoring long string value record for numeric variable %s."
msgstr ""
-#: src/data/sys-file-reader.c:1898
+#: src/data/sys-file-reader.c:1943
#, 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:1927
+#: src/data/sys-file-reader.c:1972
#, 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:2031
+#: src/data/sys-file-reader.c:2076
msgid "File ends in partial case."
msgstr "Rinkmena baigiasi nepilname atvejyje."
-#: src/data/sys-file-reader.c:2039
+#: src/data/sys-file-reader.c:2084
#, c-format
msgid "Error reading case from file %s."
msgstr "klaida bandant nuskaityti atvejį iš rinkmenos „%s“."
-#: src/data/sys-file-reader.c:2141
+#: src/data/sys-file-reader.c:2186
msgid "Possible compressed data corruption: compressed spaces appear in numeric field."
msgstr "Tikėtina, kad suglaudinti duomenys yra sugadinti: skaitmeniniuose laukuose yra suglaudintų tarpų."
-#: src/data/sys-file-reader.c:2195
+#: src/data/sys-file-reader.c:2240
#, c-format
msgid "Possible compressed data corruption: string contains compressed integer (opcode %d)."
msgstr ""
-#: src/data/sys-file-reader.c:2289
+#: src/data/sys-file-reader.c:2334
#, c-format
msgid "Suppressed %d additional related warnings."
msgstr "Neparodyti %d papildomi susiję įspėjimai."
-#: src/data/sys-file-reader.c:2335 src/data/sys-file-reader.c:2352
+#: src/data/sys-file-reader.c:2380 src/data/sys-file-reader.c:2397
#, c-format
msgid "Dictionary record refers to unknown variable %s."
msgstr "Žodyno įrašas nurodo į nežinomą kintamąjį %s."
-#: src/data/sys-file-reader.c:2414
+#: src/data/sys-file-reader.c:2459
#, c-format
msgid "Expecting digit at offset %zu in MRSETS record."
msgstr "MRSETS įraše ties %zu poslinkiu tikimasi rasti skaičių."
-#: src/data/sys-file-reader.c:2422
+#: src/data/sys-file-reader.c:2467
#, c-format
msgid "Expecting space at offset %zu in MRSETS record."
msgstr "MRSETS įraše ties %zu poslinkiu tikimasi rasti tarpą."
-#: src/data/sys-file-reader.c:2430
+#: src/data/sys-file-reader.c:2475
#, c-format
msgid "%zu-byte string starting at offset %zu exceeds record length %zu."
msgstr ""
-#: src/data/sys-file-reader.c:2440
+#: src/data/sys-file-reader.c:2485
#, c-format
msgid "Expecting space at offset %zu following %zu-byte string."
msgstr ""
-#: src/data/sys-file-reader.c:2481
+#: src/data/sys-file-reader.c:2526
#, c-format
msgid "`%s' near offset 0x%llx: "
msgstr "„%s“ šalia 0x%llx poslinkio: "
-#: src/data/sys-file-reader.c:2484
+#: src/data/sys-file-reader.c:2529
#, c-format
msgid "`%s': "
msgstr "„%s“: "
-#: src/data/sys-file-reader.c:2541
+#: src/data/sys-file-reader.c:2586
#, c-format
msgid "System error: %s."
msgstr "Sistemos klaida: %s."
-#: src/data/sys-file-reader.c:2543
+#: src/data/sys-file-reader.c:2588
msgid "Unexpected end of file."
msgstr "Netikėta rinkmenos pabaiga."
-#: src/data/sys-file-writer.c:186
+#: src/data/sys-file-writer.c:188
#, c-format
msgid "Unknown system file version %d. Treating as version %d."
msgstr "Nežinoma sisteminės rinkmenos versija %d. Laikysima, kad tai yra %d."
-#: src/data/sys-file-writer.c:1086
+#: src/data/sys-file-writer.c:1111
#, c-format
msgid "An I/O error occurred writing system file `%s'."
msgstr "Įvedimo/išvedimo klaida įrašant sisteminę rinkmeną „%s“."
-#: src/data/variable.c:634
+#: src/data/variable.c:599
+#, c-format
+msgid "%s (%s)"
+msgstr "%s (%s)"
+
+#: src/data/variable.c:671
#, c-format
msgid "Truncating variable label for variable `%s' to %d bytes."
msgstr "Kintamojo „%s“ etiketė sutrumpinama iki %d baitų."
-#: src/data/variable.c:679 src/language/dictionary/sys-file-info.c:500
-#: src/ui/gui/psppire-var-sheet.c:112
+#: src/data/variable.c:719 src/language/dictionary/sys-file-info.c:505
+#: src/ui/gui/psppire-var-sheet.c:113
msgid "Nominal"
msgstr "Pavadinimų"
-#: src/data/variable.c:682 src/language/dictionary/sys-file-info.c:501
-#: src/ui/gui/psppire-var-sheet.c:113
+#: src/data/variable.c:722 src/language/dictionary/sys-file-info.c:506
+#: src/ui/gui/psppire-var-sheet.c:114
msgid "Ordinal"
msgstr "Rangų"
-#: src/data/variable.c:685 src/language/dictionary/sys-file-info.c:502
-#: src/language/stats/ks-one-sample.c:327 src/ui/gui/psppire-var-sheet.c:114
+#: src/data/variable.c:725 src/language/dictionary/sys-file-info.c:507
+#: src/language/stats/ks-one-sample.c:327 src/ui/gui/psppire-var-sheet.c:115
msgid "Scale"
msgstr "Intervalų"
-#: src/data/variable.c:761 src/language/dictionary/sys-file-info.c:506
-#: src/ui/gui/psppire-var-sheet.c:105
+#: src/data/variable.c:801 src/language/dictionary/sys-file-info.c:511
+#: src/ui/gui/psppire-var-sheet.c:106
msgid "Left"
msgstr "Kairinė"
-#: src/data/variable.c:764 src/language/dictionary/sys-file-info.c:508
-#: src/ui/gui/psppire-var-sheet.c:106
+#: src/data/variable.c:804 src/language/dictionary/sys-file-info.c:513
+#: src/ui/gui/psppire-var-sheet.c:107
msgid "Right"
msgstr "Dešininė"
-#: src/data/variable.c:767 src/language/dictionary/sys-file-info.c:507
-#: src/ui/gui/psppire-var-sheet.c:107
+#: src/data/variable.c:807 src/language/dictionary/sys-file-info.c:512
+#: src/ui/gui/psppire-var-sheet.c:108
msgid "Center"
msgstr "Centrinė"
-#: src/language/command.c:196 src/language/expressions/parse.c:1293
-#: src/language/utilities/set.q:220
+#: src/language/command.c:195 src/language/expressions/parse.c:1295
+#: src/language/utilities/set.q:227
#, c-format
msgid "%s is not yet implemented."
msgstr "%s dar nėra realizuota."
-#: src/language/command.c:201
+#: src/language/command.c:200
#, c-format
msgid "%s may be used only in testing mode."
msgstr "%s gali būti naudojamas tik išbandymo veiksenoje."
-#: src/language/command.c:206
+#: src/language/command.c:205
#, c-format
msgid "%s may be used only in enhanced syntax mode."
msgstr "%s gali būti naudojamas tik išplėstoje sintaksės veiksenoje."
-#: src/language/command.c:334
+#: src/language/command.c:333
msgid "expecting command name"
msgstr "tikėtasi komandos vardo"
-#: src/language/command.c:336
+#: src/language/command.c:335
#, c-format
msgid "Unknown command `%s'."
msgstr "Nežinoma komanda „%s“."
-#: src/language/command.c:369
+#: src/language/command.c:368
#, c-format
msgid "%s is allowed only before the active dataset has been defined."
msgstr "%s leidžiama tik prieš nurodant veikiamąjį duomenų rinkinį."
-#: src/language/command.c:373
+#: src/language/command.c:372
#, c-format
msgid "%s is allowed only after the active dataset has been defined."
msgstr "%s leidžiama tik nurodžius veikiamąjį duomenų rinkinį."
-#: src/language/command.c:377
+#: src/language/command.c:376
#, c-format
msgid "%s is allowed only inside INPUT PROGRAM."
msgstr "%s leidžiama tik INPUT PROGRAM viduje."
-#: src/language/command.c:381
+#: src/language/command.c:380
#, c-format
msgid "%s is allowed only inside FILE TYPE."
msgstr "%s leidžiama tik FILE TYPE viduje."
-#: src/language/command.c:388 src/language/command.c:392
+#: src/language/command.c:387 src/language/command.c:391
#, c-format
msgid "%s is allowed only before the active dataset has been defined or inside %s."
msgstr "%s leidžiama tik prieš nurodant veikiamąjį duomenų rinkinį arba %s viduje."
-#: src/language/command.c:396 src/language/command.c:400
+#: src/language/command.c:395 src/language/command.c:399
#, c-format
msgid "%s is allowed only after the active dataset has been defined or inside %s."
msgstr "%s leidžiama tik nurodžius veikiamąjį duomenų rinkinį arba %s viduje."
-#: src/language/command.c:404
+#: src/language/command.c:403
#, c-format
msgid "%s is allowed only inside INPUT PROGRAM or inside FILE TYPE."
msgstr "%s leidžiama tik INPUT PROGRAM arba FILE TYPE viduje."
-#: src/language/command.c:409
+#: src/language/command.c:408
#, c-format
msgid "%s is allowed only after the active dataset has been defined, inside INPUT PROGRAM, or inside FILE TYPE."
msgstr "%s leidžiama tik nurodžius veikiamąjį duomenų rinkinį, INPUT PROGRAM viduje arba FILE TYPE viduje."
-#: src/language/command.c:414
+#: src/language/command.c:413
#, c-format
msgid "%s is allowed only before the active dataset has been defined, inside INPUT PROGRAM, or inside FILE TYPE."
msgstr "%s leidžiama tik prieš nurodant veikiamąjį duomenų rinkinį, INPUT PROGRAM viduje arba FILE TYPE viduje."
-#: src/language/command.c:432 src/language/command.c:435
+#: src/language/command.c:431 src/language/command.c:434
#, c-format
msgid "%s is not allowed inside %s."
msgstr "%s neleidžiama %s viduje."
-#: src/language/command.c:517 src/language/utilities/host.c:130
+#: src/language/command.c:516 src/language/utilities/host.c:130
#: src/language/utilities/permissions.c:105
msgid "This command not allowed when the SAFER option is set."
msgstr "Ši komanda neleidžiama, jei naudojama parinktis SAFER."
-#: src/language/command.c:533
+#: src/language/command.c:532
#, c-format
msgid "Error removing `%s': %s."
msgstr "Nepavyko pašalinti „%s“: %s."
msgstr "Sintaksės klaida įvedimo pabaigoje"
#: src/language/lexer/lexer.c:419 src/language/xforms/select-if.c:60
-#: src/language/stats/autorecode.c:206 src/language/stats/npar.c:478
-#: src/language/data-io/print-space.c:72
+#: src/language/stats/autorecode.c:217 src/language/stats/npar.c:504
+#: src/language/data-io/print-space.c:83
msgid "expecting end of command"
msgstr "tikėtasi komandos pabaigos"
msgid "expecting identifier"
msgstr "tikėtasi identifikatoriaus"
-#: src/language/lexer/lexer.c:1300
+#: src/language/lexer/lexer.c:1263
msgid "Syntax error at end of command"
msgstr "Sintaksės klaida komandos pabaigoje"
-#: src/language/lexer/lexer.c:1309
+#: src/language/lexer/lexer.c:1272
#, c-format
msgid "Syntax error at `%s'"
msgstr "Sintaksės klaida ties %s."
-#: src/language/lexer/lexer.c:1312
+#: src/language/lexer/lexer.c:1275
msgid "Syntax error"
msgstr "Sintaksės klaida"
-#: src/language/lexer/lexer.c:1476
+#: src/language/lexer/lexer.c:1439
#, c-format
msgid "String of hex digits has %d characters, which is not a multiple of 2"
msgstr ""
-#: src/language/lexer/lexer.c:1483
+#: src/language/lexer/lexer.c:1446
#, c-format
msgid "`%c' is not a valid hex digit"
msgstr "„%c“ nėra tinkamas šešioliktainis skaitmuo"
-#: src/language/lexer/lexer.c:1488
+#: src/language/lexer/lexer.c:1451
#, c-format
msgid "Unicode string contains %d bytes, which is not in the valid range of 1 to 8 bytes"
msgstr "Unikodo eilutė turi %d bitus, bet tai nepatenka į tinkamą intervalą nuo 1 iki 8 bitų"
-#: src/language/lexer/lexer.c:1494
+#: src/language/lexer/lexer.c:1457
#, c-format
msgid "U+%04X is not a valid Unicode code point"
msgstr "U+%04X nėra tinkamas unikodo kodo taškas"
-#: src/language/lexer/lexer.c:1499
+#: src/language/lexer/lexer.c:1462
msgid "Unterminated string constant"
-msgstr ""
+msgstr "Nebaigta eilutės konstanta"
-#: src/language/lexer/lexer.c:1503
+#: src/language/lexer/lexer.c:1466
#, c-format
msgid "Missing exponent following `%s'"
msgstr "Trūksta eksponentės po „%s“"
-#: src/language/lexer/lexer.c:1508
+#: src/language/lexer/lexer.c:1471
msgid "Unexpected `.' in middle of command"
msgstr "Komandos viduryje netikėtai rastas „.“"
-#: src/language/lexer/lexer.c:1514
+#: src/language/lexer/lexer.c:1477
#, c-format
msgid "Bad character %s in input"
msgstr "Įvestyje yra neleistinas rašmuo %s"
-#: src/language/lexer/lexer.c:1608
+#: src/language/lexer/lexer.c:1571
#, c-format
msgid "Opening `%s': %s."
msgstr "Atveriama „%s“: %s."
-#: src/language/lexer/lexer.c:1638
+#: src/language/lexer/lexer.c:1601
#, c-format
msgid "Error reading `%s': %s."
msgstr "Klaida skaitant „%s“: %s."
-#: src/language/lexer/lexer.c:1652
+#: src/language/lexer/lexer.c:1615
#, c-format
msgid "Error closing `%s': %s."
msgstr "Klaida užveriant „%s“: %s."
#: src/language/lexer/subcommand-list.c:118
#, c-format
msgid "No more than %d %s subcommands allowed."
-msgstr ""
+msgstr "Leidžiama ne daugiau kaip %d %s pokomandžių."
#: src/language/lexer/format-parser.c:77
msgid "expecting valid format specifier"
msgstr "tikėtasi tinkamo formato nurodymo"
#: src/language/lexer/format-parser.c:116
-#: src/language/lexer/format-parser.c:136 src/language/data-io/get-data.c:565
-#: src/language/data-io/placement-parser.c:225
+#: src/language/lexer/format-parser.c:143 src/language/data-io/data-list.c:439
+#: src/language/data-io/get-data.c:618
+#: src/language/data-io/placement-parser.c:236
#, c-format
msgid "Unknown format type `%s'."
msgstr "Nežinomas formato tipas „%s“."
-#: src/language/lexer/format-parser.c:131
+#: src/language/lexer/format-parser.c:122
+#, c-format
+msgid "Format specifier `%s' lacks required width."
+msgstr ""
+
+#: src/language/lexer/format-parser.c:138
msgid "expecting format type"
msgstr "tikėtasi formato tipo"
msgid "expecting number or data string"
msgstr "tikėtasi skaičiaus arba duomenų eilutės"
-#: src/language/lexer/variable-parser.c:67
+#: src/language/lexer/variable-parser.c:70
msgid "expecting variable name"
msgstr "tikimasi kintamojo vardo"
-#: src/language/lexer/variable-parser.c:77
+#: src/language/lexer/variable-parser.c:80
#, c-format
msgid "%s is not a variable name."
msgstr "%s nėra kintamojo vardas."
-#: src/language/lexer/variable-parser.c:180
+#: src/language/lexer/variable-parser.c:183
#, c-format
msgid "%s is not a numeric variable. It will not be included in the variable list."
msgstr "%s nėra skaitmeninis kintamasis. Jis nebus įtrauktas į kintamųjų sąrašą."
-#: src/language/lexer/variable-parser.c:183
+#: src/language/lexer/variable-parser.c:186
#, c-format
msgid "%s is not a string variable. It will not be included in the variable list."
msgstr "%s nėra teksto eilutės kintamasis. Jis nebus įtrauktas į kintamųjų sąrašą."
-#: src/language/lexer/variable-parser.c:187
+#: src/language/lexer/variable-parser.c:190
#, c-format
msgid "Scratch variables (such as %s) are not allowed here."
msgstr ""
-#: src/language/lexer/variable-parser.c:191
+#: src/language/lexer/variable-parser.c:194
#, c-format
msgid "%s and %s are not the same type. All variables in this variable list must be of the same type. %s will be omitted from the list."
msgstr "%s ir %s nėra tas pats tipas. Visi šio sąrašo kintamieji turi būti to paties tipo. %s bus neįtrauktas į sąrašą."
-#: src/language/lexer/variable-parser.c:197
+#: src/language/lexer/variable-parser.c:200
#, c-format
msgid "%s and %s are string variables with different widths. All variables in this variable list must have the same width. %s will be omitted from the list."
msgstr ""
-#: src/language/lexer/variable-parser.c:202
-#: src/language/lexer/variable-parser.c:404
+#: src/language/lexer/variable-parser.c:205
+#: src/language/lexer/variable-parser.c:407
#, c-format
msgid "Variable %s appears twice in variable list."
msgstr "Kintamasis %s kintamųjų sąraše pasikartoja du kartus."
-#: src/language/lexer/variable-parser.c:315
+#: src/language/lexer/variable-parser.c:318
#, c-format
msgid "%s TO %s is not valid syntax since %s precedes %s in the dictionary."
msgstr ""
-#: src/language/lexer/variable-parser.c:323
+#: src/language/lexer/variable-parser.c:326
#, c-format
msgid "When using the TO keyword to specify several variables, both variables must be from the same variable dictionaries, of either ordinary, scratch, or system variables. %s is a %s variable, whereas %s is %s."
msgstr ""
-#: src/language/lexer/variable-parser.c:381
+#: src/language/lexer/variable-parser.c:384
#, c-format
msgid "`%s' cannot be used with TO because it does not end in a digit."
msgstr ""
-#: src/language/lexer/variable-parser.c:389
+#: src/language/lexer/variable-parser.c:392
#, c-format
msgid "Numeric suffix on `%s' is larger than supported with TO."
msgstr ""
-#: src/language/lexer/variable-parser.c:465
+#: src/language/lexer/variable-parser.c:468
msgid "Scratch variables not allowed here."
msgstr ""
-#: src/language/lexer/variable-parser.c:497
+#: src/language/lexer/variable-parser.c:500
msgid "Prefixes don't match in use of TO convention."
msgstr ""
-#: src/language/lexer/variable-parser.c:502
+#: src/language/lexer/variable-parser.c:505
msgid "Bad bounds in use of TO convention."
msgstr ""
#: src/language/xforms/recode.c:517
#, c-format
msgid "Type mismatch. Cannot store %s data in %s variable %s."
-msgstr ""
+msgstr "Netinka tipas. Negalima saugoti %s duomenų %s kintamajame %s."
#: src/language/xforms/select-if.c:100
msgid "Syntax error expecting OFF or BY. Turning off case filtering."
msgid "Only one index clause may be specified."
msgstr ""
-#: src/language/control/repeat.c:116
+#: src/language/control/repeat.c:118
#, c-format
msgid "Dummy variable name `%s' hides dictionary variable `%s'."
msgstr "Fiktyvusis kintamojo vardas „%s“ slepia žodyno kintamąjį „%s“."
-#: src/language/control/repeat.c:120
+#: src/language/control/repeat.c:122
#, c-format
msgid "Dummy variable name `%s' is given twice."
msgstr "Fiktyvusis kintamasis vardas „%s“ pateiktas du kartus."
-#: src/language/control/repeat.c:163
+#: src/language/control/repeat.c:165
#, c-format
msgid "Dummy variable `%s' had %zu substitutions, so `%s' must also, but %zu were specified."
msgstr ""
-#: src/language/control/repeat.c:377
+#: src/language/control/repeat.c:378
msgid "Ranges may only have integer bounds."
msgstr "Sričių ribos gali būti tik sveikieji skaičiai."
-#: src/language/control/repeat.c:391
+#: src/language/control/repeat.c:392
#, c-format
msgid "%ld TO %ld is an invalid range."
msgstr "Netinkama sritis %ld TO %ld."
-#: src/language/control/repeat.c:441
+#: src/language/control/repeat.c:442
msgid "No matching DO REPEAT."
msgstr ""
msgid "Missing values provided are too long to assign to variable of width %d."
msgstr ""
-#: src/language/dictionary/modify-variables.c:91
+#: src/language/dictionary/modify-variables.c:92
msgid "MODIFY VARS may not be used after TEMPORARY. Temporary transformations will be made permanent."
msgstr "MODIFY VARS negali būti po TEMPORARY. Laikinos transformacijos bus atliekamos kaip ilgalaikės."
-#: src/language/dictionary/modify-variables.c:136
+#: src/language/dictionary/modify-variables.c:137
msgid "Cannot specify ALL after specifying a set of variables."
msgstr "Nurodžius kintamųjų rinkinį, negalima nurodyti ALL (visų)."
-#: src/language/dictionary/modify-variables.c:206
+#: src/language/dictionary/modify-variables.c:207
#: src/language/dictionary/rename-variables.c:71
#, c-format
msgid "Differing number of variables in old name list (%zu) and in new name list (%zu)."
msgstr ""
-#: src/language/dictionary/modify-variables.c:231
+#: src/language/dictionary/modify-variables.c:232
msgid "KEEP subcommand may be given at most once. It may not be given in conjunction with the DROP subcommand."
msgstr "Pokomandis KEEP gali būti pateikiamas tik vieną kartą. Jis negali būti pateikiamas kartu su pokomandžiu DROP."
-#: src/language/dictionary/modify-variables.c:274
+#: src/language/dictionary/modify-variables.c:275
msgid "DROP subcommand may be given at most once. It may not be given in conjunction with the KEEP subcommand."
msgstr "Pokomandis DROP gali būti pateikiamas tik vieną kartą. Jis negali būti pateikiamas kartu su pokomandžiu KEEP."
-#: src/language/dictionary/modify-variables.c:300
+#: src/language/dictionary/modify-variables.c:301
#, c-format
msgid "Unrecognized subcommand name `%s'."
msgstr "Neatpažintas pokomandžio vardas „%s“."
-#: src/language/dictionary/modify-variables.c:302
+#: src/language/dictionary/modify-variables.c:303
msgid "Subcommand name expected."
msgstr "Tikėtasi pokomandžio vardo."
msgid "Multiple Response Sets"
msgstr ""
-#: src/language/dictionary/mrsets.c:548 src/ui/gui/psppire-var-sheet.c:531
-#: src/ui/gui/psppire-var-store.c:768
+#: src/language/dictionary/mrsets.c:548 src/ui/gui/psppire-var-sheet.c:551
+#: src/ui/gui/psppire-var-store.c:773
msgid "Name"
msgstr "Vardas"
#: src/language/dictionary/mrsets.c:567
#: src/language/dictionary/split-file.c:84
-#: src/language/dictionary/sys-file-info.c:335
-#: src/language/dictionary/sys-file-info.c:574
-#: src/ui/gui/psppire-var-sheet.c:535 src/ui/gui/psppire-var-store.c:772
-#: src/ui/gui/compute.ui:467
+#: src/language/dictionary/sys-file-info.c:336
+#: src/language/dictionary/sys-file-info.c:579
+#: src/ui/gui/psppire-var-sheet.c:555 src/ui/gui/psppire-var-store.c:777
+#: src/ui/gui/compute.ui:479
msgid "Label"
msgstr "Etiketė"
msgstr "Pervadinama nekartojant kintamojo vardo %s."
#: src/language/dictionary/split-file.c:83
-#: src/language/dictionary/sys-file-info.c:420
-#: src/language/dictionary/sys-file-info.c:573
-#: src/language/stats/cochran.c:170 src/language/stats/reliability.c:753
-#: src/language/stats/reliability.c:764 src/language/stats/crosstabs.q:1233
-#: src/language/stats/crosstabs.q:1260 src/language/stats/crosstabs.q:1283
-#: src/language/stats/crosstabs.q:1308 src/language/stats/examine.q:1840
-#: src/language/stats/frequencies.q:821 src/ui/gui/count.ui:244
+#: src/language/dictionary/sys-file-info.c:425
+#: src/language/dictionary/sys-file-info.c:578
+#: src/language/stats/cochran.c:170 src/language/stats/examine.c:1130
+#: src/language/stats/reliability.c:780 src/language/stats/reliability.c:791
+#: src/language/stats/crosstabs.q:1263 src/language/stats/crosstabs.q:1290
+#: src/language/stats/crosstabs.q:1313 src/language/stats/crosstabs.q:1338
+#: src/language/stats/frequencies.q:826 src/ui/gui/count.ui:244
msgid "Value"
msgstr "Reikšmė"
msgid "File:"
msgstr "Rinkmena:"
-#: src/language/dictionary/sys-file-info.c:96 src/ui/gui/compute.ui:405
-#: src/ui/gui/recode.ui:489
+#: src/language/dictionary/sys-file-info.c:96
msgid "Label:"
msgstr "Etiketė:"
#: src/language/dictionary/sys-file-info.c:110
#: src/language/dictionary/sys-file-info.c:118
#: src/language/dictionary/sys-file-info.c:123
+#: src/language/utilities/set.q:926
msgid "Unknown"
msgstr "Nežinoma"
msgid "IBM 390 Hex Long."
msgstr ""
-#: src/language/dictionary/sys-file-info.c:119 src/ui/gui/recode.ui:590
+#: src/language/dictionary/sys-file-info.c:119
msgid "Variables:"
msgstr "Kintamieji:"
msgstr "Tipas:"
#: src/language/dictionary/sys-file-info.c:127
-#: src/ui/gui/psppire-data-window.c:522
+#: src/ui/gui/psppire-data-window.c:516
msgid "System File"
msgstr "Sisteminė rinkmena"
msgstr "Ženklų rinkinys:"
#: src/language/dictionary/sys-file-info.c:149
-#: src/language/dictionary/sys-file-info.c:335
+#: src/language/dictionary/sys-file-info.c:336
msgid "Description"
msgstr "Aprašas"
#: src/language/dictionary/sys-file-info.c:150
-#: src/language/dictionary/sys-file-info.c:337
-#: src/language/dictionary/sys-file-info.c:644
+#: src/language/dictionary/sys-file-info.c:338
+#: src/language/dictionary/sys-file-info.c:649
msgid "Position"
msgstr "Pozicija"
-#: src/language/dictionary/sys-file-info.c:197
+#: src/language/dictionary/sys-file-info.c:198
msgid "The active dataset does not have a file label."
msgstr "Veikiamasis duomenų rinkinys neturi rinkmenos etiketės."
-#: src/language/dictionary/sys-file-info.c:199
+#: src/language/dictionary/sys-file-info.c:200
#, c-format
msgid "File label: %s"
msgstr "Rinkmenos etiketė: %s"
-#: src/language/dictionary/sys-file-info.c:273
+#: src/language/dictionary/sys-file-info.c:274
msgid "No variables to display."
msgstr "Nėra rodytinų kintamųjų."
-#: src/language/dictionary/sys-file-info.c:287
+#: src/language/dictionary/sys-file-info.c:288
msgid "Macros not supported."
msgstr "Makrokomandos nepalaikomos."
-#: src/language/dictionary/sys-file-info.c:296
+#: src/language/dictionary/sys-file-info.c:297
msgid "The active dataset dictionary does not contain any documents."
msgstr "Veikiamojo duomenų rinkinio žodynas neturi jokių dokumentų."
-#: src/language/dictionary/sys-file-info.c:303
+#: src/language/dictionary/sys-file-info.c:304
msgid "Documents in the active dataset:"
msgstr "Veikiamojo duomenų rinkinio dokumentai:"
-#: src/language/dictionary/sys-file-info.c:419
+#: src/language/dictionary/sys-file-info.c:424
msgid "Attribute"
msgstr "Atributas"
-#: src/language/dictionary/sys-file-info.c:475
+#: src/language/dictionary/sys-file-info.c:480
#, c-format
msgid "Format: %s"
msgstr "Formatas: %s"
-#: src/language/dictionary/sys-file-info.c:482
+#: src/language/dictionary/sys-file-info.c:487
#, c-format
msgid "Print Format: %s"
msgstr "Spausdinimo formatas: %s"
-#: src/language/dictionary/sys-file-info.c:486
+#: src/language/dictionary/sys-file-info.c:491
#, c-format
msgid "Write Format: %s"
msgstr "Įrašymo formatas: %s"
-#: src/language/dictionary/sys-file-info.c:499
+#: src/language/dictionary/sys-file-info.c:504
#, c-format
msgid "Measure: %s"
msgstr "Matavimo skalė: %s"
-#: src/language/dictionary/sys-file-info.c:505
+#: src/language/dictionary/sys-file-info.c:510
#, c-format
msgid "Display Alignment: %s"
msgstr "Rodoma lygiuotė: %s"
-#: src/language/dictionary/sys-file-info.c:511
+#: src/language/dictionary/sys-file-info.c:516
#, c-format
msgid "Display Width: %d"
msgstr "Rodomas plotis: %d"
-#: src/language/dictionary/sys-file-info.c:525
+#: src/language/dictionary/sys-file-info.c:530
msgid "Missing Values: "
msgstr "Praleistos reikšmės: "
-#: src/language/dictionary/sys-file-info.c:624
+#: src/language/dictionary/sys-file-info.c:629
msgid "No vectors defined."
msgstr "Neapibrėžtas joks vektorius"
-#: src/language/dictionary/sys-file-info.c:643
+#: src/language/dictionary/sys-file-info.c:648
msgid "Vector"
msgstr "Vektorius"
-#: src/language/dictionary/sys-file-info.c:646
+#: src/language/dictionary/sys-file-info.c:651
msgid "Print Format"
msgstr "Spausdinimo formatas"
msgid "Truncating value label to %d bytes."
msgstr "Reikmės etiketė sutrumpinama iki %d bitų."
-#: src/language/dictionary/vector.c:65
+#: src/language/dictionary/vector.c:66
#, c-format
msgid "A vector named %s already exists."
msgstr "Vektorius tokiu vardu %s jau yra."
-#: src/language/dictionary/vector.c:73
+#: src/language/dictionary/vector.c:74
#, c-format
msgid "Vector name %s is given twice."
msgstr "Vektoriaus vardas %s pateiktas du kartus."
-#: src/language/dictionary/vector.c:97
+#: src/language/dictionary/vector.c:98
msgid "A slash must separate each vector specification in VECTOR's long form."
msgstr ""
-#: src/language/dictionary/vector.c:130
+#: src/language/dictionary/vector.c:131
msgid "Vectors must have at least one element."
msgstr "Vektoriai privalo turėti bent vieną elementą."
-#: src/language/dictionary/vector.c:151
+#: src/language/dictionary/vector.c:152
msgid "expecting vector length"
msgstr "tikimasi vektoriaus ilgio"
-#: src/language/dictionary/vector.c:171
+#: src/language/dictionary/vector.c:172
#, c-format
msgid "%s is an existing variable name."
msgstr "%s yra jau esamo kintamojo vardas."
msgid "Cannot change mode of %s: %s"
msgstr "Nepavyksta pakeisti %s veiksenos: %s"
-#: src/language/stats/aggregate.c:95
+#: src/language/stats/aggregate.c:96
msgid "Sum of values"
msgstr "Reikšmių suma"
-#: src/language/stats/aggregate.c:96
+#: src/language/stats/aggregate.c:97
msgid "Mean average"
msgstr "Bendras vidurkis"
-#: src/language/stats/aggregate.c:97
+#: src/language/stats/aggregate.c:98
msgid "Median average"
msgstr "Medianos vidurkis"
-#: src/language/stats/aggregate.c:98 src/ui/gui/frequencies-dialog.c:42
+#: src/language/stats/aggregate.c:99
#: src/ui/gui/psppire-dialog-action-descriptives.c:40
+#: src/ui/gui/psppire-dialog-action-frequencies.c:41
msgid "Standard deviation"
msgstr "Standartinis nuokrypis"
-#: src/language/stats/aggregate.c:99
+#: src/language/stats/aggregate.c:100
msgid "Maximum value"
msgstr "Didžiausia reikšmė"
-#: src/language/stats/aggregate.c:100
+#: src/language/stats/aggregate.c:101
msgid "Minimum value"
msgstr "Mažiausia reikšmė"
-#: src/language/stats/aggregate.c:101
+#: src/language/stats/aggregate.c:102
msgid "Percentage greater than"
msgstr "Procentinė dalis didesnė už"
-#: src/language/stats/aggregate.c:102
+#: src/language/stats/aggregate.c:103
msgid "Percentage less than"
msgstr "Procentinė dalis mažesnė už"
-#: src/language/stats/aggregate.c:103
+#: src/language/stats/aggregate.c:104
msgid "Percentage included in range"
msgstr "Procentinė dalis įtraukta į sritį"
-#: src/language/stats/aggregate.c:104
+#: src/language/stats/aggregate.c:105
msgid "Percentage excluded from range"
msgstr "Procentinė dalis neįtraukta į sritį"
-#: src/language/stats/aggregate.c:105
+#: src/language/stats/aggregate.c:106
msgid "Fraction greater than"
msgstr "Trupmeninė dalis didesnė už"
-#: src/language/stats/aggregate.c:106
+#: src/language/stats/aggregate.c:107
msgid "Fraction less than"
msgstr "Trupmeninė dalis mažesnė už "
-#: src/language/stats/aggregate.c:107
+#: src/language/stats/aggregate.c:108
msgid "Fraction included in range"
msgstr "Trupmeninė dalis įtraukta į sritį"
-#: src/language/stats/aggregate.c:108
+#: src/language/stats/aggregate.c:109
msgid "Fraction excluded from range"
msgstr "Trupmeninė dalis neįtraukta į sritį"
-#: src/language/stats/aggregate.c:109
+#: src/language/stats/aggregate.c:110
msgid "Number of cases"
msgstr "Atvejų skaičius"
-#: src/language/stats/aggregate.c:110
+#: src/language/stats/aggregate.c:111
msgid "Number of cases (unweighted)"
msgstr "Atvejų skaičius (nesveriant)"
-#: src/language/stats/aggregate.c:111
+#: src/language/stats/aggregate.c:112
msgid "Number of missing values"
msgstr "Praleistų reikšmių skaičius"
-#: src/language/stats/aggregate.c:112
+#: src/language/stats/aggregate.c:113
msgid "Number of missing values (unweighted)"
msgstr "Praleistų reikšmių skaičius (nesveriant)"
-#: src/language/stats/aggregate.c:113
+#: src/language/stats/aggregate.c:114
msgid "First non-missing value"
msgstr "Pirmoji nepraleista reikšmė"
-#: src/language/stats/aggregate.c:114
+#: src/language/stats/aggregate.c:115
msgid "Last non-missing value"
msgstr "Paskutinė nepraleista reikšmė"
-#: src/language/stats/aggregate.c:257
+#: src/language/stats/aggregate.c:258
msgid "When PRESORTED is specified, specifying sorting directions with (A) or (D) has no effect. Output data will be sorted the same way as the input data."
msgstr ""
-#: src/language/stats/aggregate.c:447
+#: src/language/stats/aggregate.c:448
msgid "expecting aggregation function"
msgstr "tikimasi duomenų agregavimo funkcijos"
-#: src/language/stats/aggregate.c:459
+#: src/language/stats/aggregate.c:460
#, c-format
msgid "Unknown aggregation function %s."
msgstr "Nežinoma agregavimo funkcija %s"
-#: src/language/stats/aggregate.c:513
+#: src/language/stats/aggregate.c:514
#, c-format
msgid "Missing argument %zu to %s."
msgstr "Argumento %zu reikalauja %s."
-#: src/language/stats/aggregate.c:522
+#: src/language/stats/aggregate.c:523
#, c-format
msgid "Arguments to %s must be of same type as source variables."
msgstr "%s argumentas turi būti to paties tipo kaip ir šaltinio kintamasis."
-#: src/language/stats/aggregate.c:541
+#: src/language/stats/aggregate.c:542
#, c-format
msgid "Number of source variables (%zu) does not match number of target variables (%zu)."
msgstr "Šaltinio kintamųjų skaičius (%zu) neatitinka paskirties kintamųjų skaičiaus (%zu)."
-#: src/language/stats/aggregate.c:557
+#: src/language/stats/aggregate.c:558
#, c-format
msgid "The value arguments passed to the %s function are out-of-order. They will be treated as if they had been specified in the correct order."
msgstr ""
-#: src/language/stats/aggregate.c:631
+#: src/language/stats/aggregate.c:632
#, c-format
msgid "Variable name %s is not unique within the aggregate file dictionary, which contains the aggregate variables and the break variables."
msgstr ""
-#: src/language/stats/autorecode.c:156
+#: src/language/stats/autorecode.c:164
#, c-format
msgid "Source variable count (%zu) does not match target variable count (%zu)."
msgstr "Šaltinio kintamųjų kiekis (%zu) neatitinka paskirties kintamojo kiekio (%zu)."
-#: src/language/stats/autorecode.c:168
+#: src/language/stats/autorecode.c:176
#, c-format
msgid "Target variable %s duplicates existing variable %s."
msgstr "Paskirties kintamasis %s dubliuoja esamą kintamąjį %s."
msgid "Group2"
msgstr "Antra grupė"
-#: src/language/stats/binomial.c:219 src/language/stats/chisquare.c:177
-#: src/language/stats/chisquare.c:236 src/language/stats/factor.c:1511
-#: src/language/stats/glm.c:851 src/language/stats/kruskal-wallis.c:292
-#: src/language/stats/mann-whitney.c:188 src/language/stats/means.c:1055
-#: src/language/stats/oneway.c:946 src/language/stats/oneway.c:1117
-#: src/language/stats/reliability.c:533 src/language/stats/sign.c:95
-#: src/language/stats/wilcoxon.c:255 src/ui/gui/crosstabs-dialog.c:60
-#: src/language/stats/crosstabs.q:831 src/language/stats/crosstabs.q:1175
-#: src/language/stats/crosstabs.q:1559 src/language/stats/examine.q:1104
-#: src/language/stats/frequencies.q:879 src/language/stats/regression.q:293
+#: src/language/stats/binomial.c:219 src/language/stats/chisquare.c:180
+#: src/language/stats/chisquare.c:239 src/language/stats/examine.c:1335
+#: src/language/stats/factor.c:1513 src/language/stats/glm.c:849
+#: src/language/stats/kruskal-wallis.c:325 src/language/stats/logistic.c:1390
+#: src/language/stats/mann-whitney.c:188 src/language/stats/means.c:1057
+#: src/language/stats/oneway.c:993 src/language/stats/oneway.c:1164
+#: src/language/stats/reliability.c:560 src/language/stats/regression.c:863
+#: src/language/stats/sign.c:95 src/language/stats/wilcoxon.c:255
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:91
+#: src/language/stats/crosstabs.q:861 src/language/stats/crosstabs.q:1205
+#: src/language/stats/crosstabs.q:1588 src/language/stats/frequencies.q:884
msgid "Total"
msgstr "Iš viso"
-#: src/language/stats/binomial.c:252 src/language/stats/chisquare.c:199
-#: src/language/stats/crosstabs.q:1258 src/language/stats/crosstabs.q:1305
+#: src/language/stats/binomial.c:252 src/language/stats/chisquare.c:202
+#: src/language/stats/crosstabs.q:1288 src/language/stats/crosstabs.q:1335
msgid "Category"
msgstr "Kategorija"
#: src/language/stats/binomial.c:253 src/language/stats/cochran.c:211
-#: src/language/stats/correlations.c:120 src/language/stats/correlations.c:228
-#: src/language/stats/friedman.c:275 src/language/stats/kruskal-wallis.c:257
-#: src/language/stats/ks-one-sample.c:293
+#: src/language/stats/correlations.c:120 src/language/stats/correlations.c:229
+#: src/language/stats/examine.c:1340 src/language/stats/friedman.c:275
+#: src/language/stats/kruskal-wallis.c:273
+#: src/language/stats/ks-one-sample.c:293 src/language/stats/logistic.c:1384
+#: src/language/stats/jonckheere-terpstra.c:380
#: src/language/stats/mann-whitney.c:190 src/language/stats/means.c:408
-#: src/language/stats/means.c:1064 src/language/stats/mcnemar.c:259
-#: src/language/stats/median.c:419 src/language/stats/npar-summary.c:123
-#: src/language/stats/oneway.c:1016 src/language/stats/reliability.c:536
+#: src/language/stats/means.c:1066 src/language/stats/mcnemar.c:259
+#: src/language/stats/median.c:417 src/language/stats/npar-summary.c:123
+#: src/language/stats/oneway.c:1063 src/language/stats/reliability.c:563
#: src/language/stats/sign.c:74 src/language/stats/t-test-indep.c:211
#: src/language/stats/t-test-one-sample.c:158
#: src/language/stats/t-test-paired.c:179
#: src/language/stats/t-test-paired.c:233 src/language/stats/wilcoxon.c:238
-#: src/language/stats/crosstabs.q:838 src/language/stats/examine.q:1175
-#: src/language/stats/frequencies.q:1041
+#: src/language/stats/crosstabs.q:868 src/language/stats/frequencies.q:1046
msgid "N"
msgstr "N"
msgid "Test Prop."
msgstr "Kriter. prop."
-#: src/language/stats/binomial.c:258 src/language/stats/crosstabs.q:1238
-#: src/language/stats/crosstabs.q:1240
+#: src/language/stats/binomial.c:258 src/language/stats/crosstabs.q:1268
+#: src/language/stats/crosstabs.q:1270
#, c-format
msgid "Exact Sig. (%d-tailed)"
msgstr "Tiksli p-reikšmė (%d-pusė)"
-#: src/language/stats/chisquare.c:150
+#: src/language/stats/chisquare.c:152
#, c-format
msgid "CHISQUARE test specified %d expected values, but %d distinct values were encountered in variable %s."
msgstr ""
-#: src/language/stats/chisquare.c:161 src/language/stats/chisquare.c:200
+#: src/language/stats/chisquare.c:164 src/language/stats/chisquare.c:203
msgid "Observed N"
msgstr "Stebėtų N"
-#: src/language/stats/chisquare.c:162 src/language/stats/chisquare.c:201
+#: src/language/stats/chisquare.c:165 src/language/stats/chisquare.c:204
msgid "Expected N"
msgstr "Prognozuotų N"
-#: src/language/stats/chisquare.c:163 src/language/stats/chisquare.c:202
-#: src/ui/gui/crosstabs-dialog.c:62 src/language/stats/regression.q:292
+#: src/language/stats/chisquare.c:166 src/language/stats/chisquare.c:205
+#: src/language/stats/regression.c:862
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:93
msgid "Residual"
msgstr "Liekana"
-#: src/language/stats/chisquare.c:195 src/language/stats/cochran.c:159
-#: src/language/stats/median.c:321 src/language/stats/sign.c:62
-#: src/ui/gui/frequencies.ui:9 src/ui/gui/frequencies.ui:669
+#: src/language/stats/chisquare.c:198 src/language/stats/cochran.c:159
+#: src/language/stats/median.c:319 src/language/stats/sign.c:62
+#: src/ui/gui/frequencies.ui:9
msgid "Frequencies"
msgstr "Dažniai"
-#: src/language/stats/chisquare.c:249 src/language/stats/cochran.c:208
-#: src/language/stats/friedman.c:272 src/language/stats/kruskal-wallis.c:310
+#: src/language/stats/chisquare.c:252 src/language/stats/cochran.c:208
+#: src/language/stats/friedman.c:272 src/language/stats/kruskal-wallis.c:343
#: src/language/stats/mann-whitney.c:251 src/language/stats/mcnemar.c:240
-#: src/language/stats/median.c:409 src/language/stats/sign.c:114
+#: src/language/stats/median.c:407 src/language/stats/sign.c:114
#: src/language/stats/wilcoxon.c:304
msgid "Test Statistics"
msgstr "Kriterijaus statistika"
-#: src/language/stats/chisquare.c:263 src/language/stats/friedman.c:282
-#: src/language/stats/kruskal-wallis.c:313 src/language/stats/median.c:425
+#: src/language/stats/chisquare.c:266 src/language/stats/friedman.c:282
+#: src/language/stats/kruskal-wallis.c:346 src/language/stats/median.c:423
msgid "Chi-Square"
msgstr "Chi kvadratas"
-#: src/language/stats/chisquare.c:264 src/language/stats/cochran.c:217
-#: src/language/stats/factor.c:1873 src/language/stats/friedman.c:285
-#: src/language/stats/glm.c:752 src/language/stats/kruskal-wallis.c:316
-#: src/language/stats/median.c:428 src/language/stats/oneway.c:923
-#: src/language/stats/oneway.c:1328 src/language/stats/t-test-indep.c:291
+#: src/language/stats/chisquare.c:267 src/language/stats/cochran.c:217
+#: src/language/stats/factor.c:1880 src/language/stats/friedman.c:285
+#: src/language/stats/glm.c:750 src/language/stats/kruskal-wallis.c:349
+#: src/language/stats/logistic.c:1204 src/language/stats/median.c:426
+#: src/language/stats/oneway.c:970 src/language/stats/oneway.c:1375
+#: src/language/stats/regression.c:856 src/language/stats/t-test-indep.c:291
#: src/language/stats/t-test-one-sample.c:95
-#: src/language/stats/t-test-paired.c:306 src/language/stats/crosstabs.q:1234
-#: src/language/stats/regression.q:286
+#: src/language/stats/t-test-paired.c:306 src/language/stats/crosstabs.q:1264
msgid "df"
msgstr "skirt."
-#: src/language/stats/chisquare.c:265 src/language/stats/cochran.c:220
-#: src/language/stats/friedman.c:288 src/language/stats/kruskal-wallis.c:319
-#: src/language/stats/median.c:431
+#: src/language/stats/chisquare.c:268 src/language/stats/cochran.c:220
+#: src/language/stats/friedman.c:288 src/language/stats/kruskal-wallis.c:352
+#: src/language/stats/median.c:429
msgid "Asymp. Sig."
msgstr "Asimt. p-reikšmė"
msgid "Cochran's Q"
msgstr "Kokrano Q"
-#: src/language/stats/correlations.c:97 src/language/stats/factor.c:1778
+#: src/language/stats/correlations.c:97 src/language/stats/factor.c:1785
#: src/language/stats/npar-summary.c:109
msgid "Descriptive Statistics"
msgstr "Aprašomoji statistika"
-#: src/language/stats/correlations.c:118 src/language/stats/descriptives.c:102
-#: src/language/stats/factor.c:1799 src/language/stats/ks-one-sample.c:302
-#: src/language/stats/means.c:407 src/language/stats/npar-summary.c:126
-#: src/language/stats/oneway.c:1017 src/language/stats/t-test-indep.c:212
+#: src/language/stats/correlations.c:118 src/language/stats/descriptives.c:106
+#: src/language/stats/examine.c:886 src/language/stats/factor.c:1806
+#: src/language/stats/ks-one-sample.c:302 src/language/stats/means.c:407
+#: src/language/stats/npar-summary.c:126 src/language/stats/oneway.c:1064
+#: src/language/stats/t-test-indep.c:212
#: src/language/stats/t-test-one-sample.c:159
#: src/language/stats/t-test-paired.c:180
-#: src/language/stats/t-test-paired.c:310 src/ui/gui/frequencies-dialog.c:41
+#: src/language/stats/t-test-paired.c:310
#: src/ui/gui/psppire-dialog-action-descriptives.c:39
-#: src/language/stats/examine.q:1443 src/language/stats/frequencies.q:105
+#: src/ui/gui/psppire-dialog-action-frequencies.c:40
+#: src/language/stats/frequencies.q:107
msgid "Mean"
msgstr "Vidurkis"
-#: src/language/stats/correlations.c:119 src/language/stats/factor.c:1800
-#: src/language/stats/ks-one-sample.c:304 src/language/stats/means.c:409
-#: src/language/stats/npar-summary.c:129 src/language/stats/oneway.c:1018
-#: src/language/stats/t-test-indep.c:213
+#: src/language/stats/correlations.c:119 src/language/stats/examine.c:978
+#: src/language/stats/factor.c:1807 src/language/stats/ks-one-sample.c:304
+#: src/language/stats/means.c:409 src/language/stats/npar-summary.c:129
+#: src/language/stats/oneway.c:1065 src/language/stats/t-test-indep.c:213
#: src/language/stats/t-test-one-sample.c:160
#: src/language/stats/t-test-paired.c:181
-#: src/language/stats/t-test-paired.c:309 src/language/stats/examine.q:1478
+#: src/language/stats/t-test-paired.c:309
msgid "Std. Deviation"
msgstr "Std. nuokrypis"
-#: src/language/stats/correlations.c:191 src/language/stats/factor.c:1669
+#: src/language/stats/correlations.c:191 src/language/stats/factor.c:1673
msgid "Correlations"
msgstr "Koreliacijos"
-#: src/language/stats/correlations.c:217
+#: src/language/stats/correlations.c:218
msgid "Pearson Correlation"
msgstr "Pirsono koreliacija"
-#: src/language/stats/correlations.c:219 src/language/stats/oneway.c:1329
+#: src/language/stats/correlations.c:220 src/language/stats/oneway.c:1376
#: src/language/stats/t-test-indep.c:292
#: src/language/stats/t-test-one-sample.c:96
#: src/language/stats/t-test-paired.c:307
msgid "Sig. (2-tailed)"
msgstr "p-reikšmė (2-pusė)"
-#: src/language/stats/correlations.c:219 src/language/stats/factor.c:1681
+#: src/language/stats/correlations.c:220 src/language/stats/factor.c:1685
msgid "Sig. (1-tailed)"
msgstr "p-reikšmė (1-pusė)"
-#: src/language/stats/correlations.c:223
+#: src/language/stats/correlations.c:224
msgid "Cross-products"
msgstr ""
-#: src/language/stats/correlations.c:224
+#: src/language/stats/correlations.c:225
msgid "Covariance"
msgstr "Kovariacija"
-#: src/language/stats/correlations.c:456 src/language/stats/descriptives.c:363
+#: src/language/stats/correlations.c:458 src/language/stats/descriptives.c:371
#: src/language/data-io/list.q:90
msgid "No variables specified."
msgstr "Nenurodytas joks kintamasis."
-#: src/language/stats/descriptives.c:103 src/language/stats/means.c:414
+#: src/language/stats/descriptives.c:107 src/language/stats/means.c:414
#: src/language/stats/t-test-indep.c:214
#: src/language/stats/t-test-one-sample.c:161
-#: src/language/stats/t-test-paired.c:182 src/language/stats/frequencies.q:106
+#: src/language/stats/t-test-paired.c:182 src/language/stats/frequencies.q:108
msgid "S.E. Mean"
msgstr "Vidur. s.pakl."
-#: src/language/stats/descriptives.c:104 src/language/stats/frequencies.q:109
+#: src/language/stats/descriptives.c:108 src/language/stats/frequencies.q:111
msgid "Std Dev"
msgstr "Std. nuokrypis"
-#: src/language/stats/descriptives.c:105 src/language/stats/means.c:419
-#: src/ui/gui/frequencies-dialog.c:46
+#: src/language/stats/descriptives.c:109 src/language/stats/examine.c:966
+#: src/language/stats/means.c:419
#: src/ui/gui/psppire-dialog-action-descriptives.c:46
-#: src/language/stats/examine.q:1473 src/language/stats/frequencies.q:110
+#: src/ui/gui/psppire-dialog-action-frequencies.c:45
+#: src/language/stats/frequencies.q:112
msgid "Variance"
msgstr "Dispersija"
-#: src/language/stats/descriptives.c:106 src/language/stats/means.c:420
-#: src/ui/gui/frequencies-dialog.c:51
+#: src/language/stats/descriptives.c:110 src/language/stats/examine.c:1068
+#: src/language/stats/means.c:420
#: src/ui/gui/psppire-dialog-action-descriptives.c:47
-#: src/language/stats/examine.q:1509 src/language/stats/frequencies.q:111
+#: src/ui/gui/psppire-dialog-action-frequencies.c:50
+#: src/language/stats/frequencies.q:113
msgid "Kurtosis"
msgstr "Ekscesas"
-#: src/language/stats/descriptives.c:107 src/language/stats/means.c:421
-#: src/language/stats/frequencies.q:112
+#: src/language/stats/descriptives.c:111 src/language/stats/means.c:421
+#: src/language/stats/frequencies.q:114
msgid "S.E. Kurt"
msgstr "Eksc. s.pakl."
-#: src/language/stats/descriptives.c:108 src/language/stats/means.c:422
-#: src/ui/gui/frequencies-dialog.c:47
+#: src/language/stats/descriptives.c:112 src/language/stats/examine.c:1051
+#: src/language/stats/means.c:422
#: src/ui/gui/psppire-dialog-action-descriptives.c:48
-#: src/language/stats/examine.q:1504 src/language/stats/frequencies.q:113
+#: src/ui/gui/psppire-dialog-action-frequencies.c:46
+#: src/language/stats/frequencies.q:115
msgid "Skewness"
msgstr "Asimetrija"
-#: src/language/stats/descriptives.c:109 src/language/stats/means.c:423
-#: src/language/stats/frequencies.q:114
+#: src/language/stats/descriptives.c:113 src/language/stats/means.c:423
+#: src/language/stats/frequencies.q:116
msgid "S.E. Skew"
msgstr "Asim. s.pakl."
-#: src/language/stats/descriptives.c:110 src/language/stats/means.c:418
-#: src/ui/gui/frequencies-dialog.c:49
+#: src/language/stats/descriptives.c:114 src/language/stats/examine.c:1018
+#: src/language/stats/means.c:418
#: src/ui/gui/psppire-dialog-action-descriptives.c:43
-#: src/language/stats/examine.q:1493 src/language/stats/frequencies.q:115
+#: src/ui/gui/psppire-dialog-action-frequencies.c:48
+#: src/language/stats/frequencies.q:117
msgid "Range"
msgstr "Sritis"
-#: src/language/stats/descriptives.c:111
+#: src/language/stats/descriptives.c:115 src/language/stats/examine.c:990
#: src/language/stats/ks-one-sample.c:311
-#: src/language/stats/npar-summary.c:132 src/language/stats/oneway.c:1031
-#: src/ui/gui/frequencies-dialog.c:43
+#: src/language/stats/npar-summary.c:132 src/language/stats/oneway.c:1078
#: src/ui/gui/psppire-dialog-action-descriptives.c:41
-#: src/language/stats/examine.q:1483 src/language/stats/frequencies.q:116
+#: src/ui/gui/psppire-dialog-action-frequencies.c:42
+#: src/language/stats/frequencies.q:118
msgid "Minimum"
msgstr "Mažiausia"
-#: src/language/stats/descriptives.c:112
+#: src/language/stats/descriptives.c:116 src/language/stats/examine.c:1004
#: src/language/stats/ks-one-sample.c:313
-#: src/language/stats/npar-summary.c:135 src/language/stats/oneway.c:1032
-#: src/ui/gui/frequencies-dialog.c:44
+#: src/language/stats/npar-summary.c:135 src/language/stats/oneway.c:1079
#: src/ui/gui/psppire-dialog-action-descriptives.c:42
-#: src/language/stats/examine.q:1488 src/language/stats/frequencies.q:117
+#: src/ui/gui/psppire-dialog-action-frequencies.c:43
+#: src/language/stats/frequencies.q:119
msgid "Maximum"
msgstr "Didžiausia"
-#: src/language/stats/descriptives.c:113 src/language/stats/means.c:415
-#: src/ui/gui/frequencies-dialog.c:54
+#: src/language/stats/descriptives.c:117 src/language/stats/means.c:415
#: src/ui/gui/psppire-dialog-action-descriptives.c:44
-#: src/language/stats/frequencies.q:118
+#: src/ui/gui/psppire-dialog-action-frequencies.c:53
+#: src/language/stats/frequencies.q:120
msgid "Sum"
msgstr "Suma"
-#: src/language/stats/descriptives.c:345
+#: src/language/stats/descriptives.c:353
#, c-format
msgid "Z-score variable name %s would be a duplicate variable name."
msgstr ""
-#: src/language/stats/descriptives.c:457
+#: src/language/stats/descriptives.c:474
msgid "expecting statistic name: reverting to default"
msgstr ""
-#: src/language/stats/descriptives.c:539
+#: src/language/stats/descriptives.c:557
msgid "Ran out of generic names for Z-score variables. There are only 126 generic names: ZSC001-ZSC0999, STDZ01-STDZ09, ZZZZ01-ZZZZ09, ZQZQ01-ZQZQ09."
msgstr ""
-#: src/language/stats/descriptives.c:568
+#: src/language/stats/descriptives.c:586
msgid "Mapping of variables to corresponding Z-scores."
msgstr ""
-#: src/language/stats/descriptives.c:572 src/language/stats/glm.c:746
+#: src/language/stats/descriptives.c:590 src/language/stats/glm.c:744
msgid "Source"
msgstr "Šaltinis"
-#: src/language/stats/descriptives.c:573
+#: src/language/stats/descriptives.c:591
msgid "Target"
msgstr "Paskirtis"
-#: src/language/stats/descriptives.c:684
+#: src/language/stats/descriptives.c:643
+msgid "Internal error processing Z scores"
+msgstr ""
+
+#: src/language/stats/descriptives.c:738
#, c-format
msgid "Z-score of %s"
msgstr "%s z-reikšmė"
-#: src/language/stats/descriptives.c:898
+#: src/language/stats/descriptives.c:973
msgid "Valid N"
msgstr "Galiojančių N"
-#: src/language/stats/descriptives.c:899
+#: src/language/stats/descriptives.c:974
msgid "Missing N"
msgstr "Praleistų N"
-#: src/language/stats/descriptives.c:927
+#: src/language/stats/descriptives.c:1002
#, c-format
msgid "Valid cases = %g; cases with missing value(s) = %g."
msgstr "Galiojančių atvejai = %g; atvejų su praleistomis reikšmėmis = %g."
-#: src/language/stats/factor.c:851
+#: src/language/stats/examine.c:74
+msgid " (missing)"
+msgstr " (praleista)"
+
+#: src/language/stats/examine.c:269
+#, c-format
+msgid "Boxplot of %s vs. %s"
+msgstr "%s ir %s stulpelinės sklaidos diagrama"
+
+#: src/language/stats/examine.c:275 src/language/stats/examine.c:381
+#, c-format
+msgid "Boxplot of %s"
+msgstr "%s stulpelinės sklaidos diagrama"
+
+#: src/language/stats/examine.c:364
+msgid "Boxplot"
+msgstr "Stulpelinės sklaidos diagrama"
+
+#: src/language/stats/examine.c:460
+msgid "Not creating NP plot because data set is empty."
+msgstr ""
+
+#: src/language/stats/examine.c:520
+#, c-format
+msgid "Not creating spreadlevel chart for %s"
+msgstr ""
+
+#: src/language/stats/examine.c:608 src/language/stats/examine.c:626
+#: src/language/stats/npar-summary.c:142 src/language/stats/frequencies.q:1062
+msgid "Percentiles"
+msgstr "Procentiliai"
+
+#: src/language/stats/examine.c:636
+#, c-format
+msgid "%g"
+msgstr "%g"
+
+#: src/language/stats/examine.c:759
+msgid "Tukey's Hinges"
+msgstr ""
+
+#: src/language/stats/examine.c:787 src/language/stats/oneway.c:1081
+#: src/ui/gui/descriptives.ui:8
+msgid "Descriptives"
+msgstr "Aprašomoji"
+
+#: src/language/stats/examine.c:804 src/ui/gui/checkbox-treeview.c:94
+#: src/language/stats/crosstabs.q:1262 src/language/stats/crosstabs.q:1289
+#: src/language/stats/crosstabs.q:1312 src/language/stats/crosstabs.q:1336
+msgid "Statistic"
+msgstr "Statistika"
+
+#: src/language/stats/examine.c:807 src/language/stats/oneway.c:1066
+#: src/language/stats/oneway.c:1373 src/language/stats/oneway.c:1578
+#: src/language/stats/roc.c:975 src/language/stats/regression.c:770
+msgid "Std. Error"
+msgstr "Std. paklaida"
+
+#: src/language/stats/examine.c:903 src/language/stats/oneway.c:1072
+#, c-format
+msgid "%g%% Confidence Interval for Mean"
+msgstr "%g%% pasikliautinasis intervalas vidurkiams"
+
+#: src/language/stats/examine.c:911 src/language/stats/oneway.c:1075
+#: src/language/stats/oneway.c:1585 src/language/stats/roc.c:978
+msgid "Lower Bound"
+msgstr "Apačia"
+
+#: src/language/stats/examine.c:924 src/language/stats/oneway.c:1076
+#: src/language/stats/oneway.c:1586 src/language/stats/roc.c:979
+msgid "Upper Bound"
+msgstr "Viršus"
+
+#: src/language/stats/examine.c:937
+msgid "5% Trimmed Mean"
+msgstr "5% nupjautasis vidurkis"
+
+#: src/language/stats/examine.c:951 src/language/stats/means.c:411
+#: src/language/stats/median.c:420
+#: src/ui/gui/psppire-dialog-action-frequencies.c:52
+#: src/language/stats/frequencies.q:109
+msgid "Median"
+msgstr "Mediana"
+
+#: src/language/stats/examine.c:1032
+msgid "Interquartile Range"
+msgstr "Intervalas tarp kvartilių"
+
+#: src/language/stats/examine.c:1106
+msgid "Extreme Values"
+msgstr "Išskirčių reikšmės"
+
+#: src/language/stats/examine.c:1127 src/language/data-io/list.q:157
+msgid "Case Number"
+msgstr "Atvejo numeris"
+
+#: src/language/stats/examine.c:1202
+msgid "Highest"
+msgstr "Didžiausia"
+
+#: src/language/stats/examine.c:1213
+msgid "Lowest"
+msgstr "Mažiausia"
+
+#: src/language/stats/examine.c:1305 src/language/stats/logistic.c:1374
+#: src/language/stats/means.c:1042 src/language/stats/reliability.c:528
+msgid "Case Processing Summary"
+msgstr "Atvejų apdorojimo santrauka"
+
+#: src/language/stats/examine.c:1321 src/language/stats/means.c:1053
+#: src/language/stats/reliability.c:551 src/language/stats/crosstabs.q:858
+msgid "Cases"
+msgstr "Atvejų"
+
+#: src/language/stats/examine.c:1325 src/language/stats/quick-cluster.c:475
+#: src/language/stats/reliability.c:554 src/language/stats/crosstabs.q:859
+#: src/language/stats/frequencies.q:1047
+msgid "Valid"
+msgstr "Galiojančių"
+
+#: src/language/stats/examine.c:1330 src/ui/gui/psppire-var-sheet.c:557
+#: src/ui/gui/psppire-var-store.c:779 src/language/stats/crosstabs.q:860
+#: src/language/stats/frequencies.q:877 src/language/stats/frequencies.q:1048
+msgid "Missing"
+msgstr "Praleista"
+
+#: src/language/stats/examine.c:1342 src/language/stats/logistic.c:1385
+#: src/language/stats/means.c:1068 src/language/stats/crosstabs.q:869
+#: src/language/stats/frequencies.q:828
+msgid "Percent"
+msgstr "Procentai"
+
+#: src/language/stats/examine.c:1982
+#, c-format
+msgid "%s may not be negative. Using default value (%g)."
+msgstr "%s negali būti neigiamas. Naudosima numatytoji reikšmė (%g)."
+
+#: src/language/stats/examine.c:2019
+msgid "Percentiles must lie in the range (0, 100)"
+msgstr "Procentiliai turi būti (0, 100) intervale"
+
+#: src/language/stats/examine.c:2213
+#, c-format
+msgid "%s and %s are mutually exclusive"
+msgstr ""
+
+#: src/language/stats/factor.c:854
msgid "Factor analysis on a single variable is not useful."
msgstr "Faktorinė analizė remiantis vienu kintamuoju nėra naudinga."
-#: src/language/stats/factor.c:1255
+#: src/language/stats/factor.c:1257
msgid "Component Number"
msgstr "Komponentės numeris"
-#: src/language/stats/factor.c:1255
+#: src/language/stats/factor.c:1257
msgid "Factor Number"
msgstr "Faktoriaus numeris"
-#: src/language/stats/factor.c:1286
+#: src/language/stats/factor.c:1288
msgid "Communalities"
msgstr "Bendrumai"
-#: src/language/stats/factor.c:1292
+#: src/language/stats/factor.c:1294
msgid "Initial"
msgstr "Pradinė"
-#: src/language/stats/factor.c:1295
+#: src/language/stats/factor.c:1297
msgid "Extraction"
msgstr "Išskirta"
-#: src/language/stats/factor.c:1359 src/language/stats/factor.c:1486
+#: src/language/stats/factor.c:1361 src/language/stats/factor.c:1488
msgid "Component"
msgstr "Komponentė"
-#: src/language/stats/factor.c:1364 src/language/stats/factor.c:1488
+#: src/language/stats/factor.c:1366 src/language/stats/factor.c:1490
msgid "Factor"
msgstr "Faktorius"
-#: src/language/stats/factor.c:1396 src/ui/gui/psppire-data-store.c:755
-#: src/ui/gui/psppire-var-store.c:634 src/ui/gui/psppire-var-store.c:644
-#: src/ui/gui/psppire-var-store.c:654 src/ui/gui/psppire-var-store.c:761
+#: src/language/stats/factor.c:1398 src/ui/gui/psppire-data-store.c:755
+#: src/ui/gui/psppire-var-store.c:635 src/ui/gui/psppire-var-store.c:645
+#: src/ui/gui/psppire-var-store.c:655 src/ui/gui/psppire-var-store.c:766
#, c-format
msgid "%d"
msgstr "%d"
-#: src/language/stats/factor.c:1461
+#: src/language/stats/factor.c:1463
msgid "Total Variance Explained"
msgstr "Visa paaiškinama dispersija"
-#: src/language/stats/factor.c:1493
+#: src/language/stats/factor.c:1495
msgid "Initial Eigenvalues"
msgstr "Pradinės tikrinės reikšmės"
-#: src/language/stats/factor.c:1499
+#: src/language/stats/factor.c:1501
msgid "Extraction Sums of Squared Loadings"
msgstr "Pradinė svorių kvadratų suma"
-#: src/language/stats/factor.c:1505
+#: src/language/stats/factor.c:1507
msgid "Rotation Sums of Squared Loadings"
msgstr "Svorių kvadratų suma po sukimo"
-#: src/language/stats/factor.c:1513
+#: src/language/stats/factor.c:1515
#, no-c-format
msgid "% of Variance"
msgstr "% dispersijos"
-#: src/language/stats/factor.c:1514
+#: src/language/stats/factor.c:1516
msgid "Cumulative %"
msgstr "Sukaupta %"
-#: src/language/stats/factor.c:1544
+#: src/language/stats/factor.c:1543
#, c-format
msgid "%zu"
msgstr "%zu"
-#: src/language/stats/factor.c:1627
+#: src/language/stats/factor.c:1631
msgid "Correlation Matrix"
msgstr "Koreliacijų matrica"
-#: src/language/stats/factor.c:1701
+#: src/language/stats/factor.c:1705
msgid "Determinant"
-msgstr ""
+msgstr "Determinantas"
-#: src/language/stats/factor.c:1733
+#: src/language/stats/factor.c:1737
msgid "The dataset contains no complete observations. No analysis will be performed."
msgstr "Duomenų rinkinyje nėra užbaigtų stebėjimų. Analizė nevykdysima."
-#: src/language/stats/factor.c:1801
+#: src/language/stats/factor.c:1808
msgid "Analysis N"
msgstr ""
-#: src/language/stats/factor.c:1838
+#: src/language/stats/factor.c:1845
msgid "KMO and Bartlett's Test"
msgstr "KMO ir Bartleto kriterijus"
-#: src/language/stats/factor.c:1866
+#: src/language/stats/factor.c:1873
msgid "Kaiser-Meyer-Olkin Measure of Sampling Adequacy"
msgstr "Kaizerio, Mejerio ir Olkino atrankos pakankamumo matas"
-#: src/language/stats/factor.c:1870
+#: src/language/stats/factor.c:1877
msgid "Bartlett's Test of Sphericity"
msgstr "Bartleto sferiškumo kriterijus"
-#: src/language/stats/factor.c:1872
+#: src/language/stats/factor.c:1879
msgid "Approx. Chi-Square"
msgstr "Apytiksl. Chi-kvadratas"
-#: src/language/stats/factor.c:1874 src/language/stats/glm.c:755
-#: src/language/stats/oneway.c:1532 src/language/stats/t-test-indep.c:289
+#: src/language/stats/factor.c:1881 src/language/stats/glm.c:753
+#: src/language/stats/logistic.c:1205 src/language/stats/oneway.c:1579
+#: src/language/stats/t-test-indep.c:289
#: src/language/stats/t-test-paired.c:235
msgid "Sig."
msgstr "p-reikšmė"
-#: src/language/stats/factor.c:1912
+#: src/language/stats/factor.c:1922
msgid "The FACTOR criteria result in zero factors extracted. Therefore no analysis will be performed."
msgstr ""
-#: src/language/stats/factor.c:1918
+#: src/language/stats/factor.c:1928
msgid "The FACTOR criteria result in more factors than variables, which is not meaningful. No analysis will be performed."
msgstr ""
-#: src/language/stats/factor.c:2001
+#: src/language/stats/factor.c:2011
msgid "Component Matrix"
msgstr "Komponenčių (faktorių svorių) matrica"
-#: src/language/stats/factor.c:2001
+#: src/language/stats/factor.c:2011
msgid "Factor Matrix"
msgstr "Faktorių matrica"
-#: src/language/stats/factor.c:2007
+#: src/language/stats/factor.c:2017
msgid "Rotated Component Matrix"
msgstr "Pasukta komponenčių matrica"
-#: src/language/stats/factor.c:2007
+#: src/language/stats/factor.c:2017
msgid "Rotated Factor Matrix"
msgstr "Pasukta faktorių matrica"
msgid "Unexpected end of file reading FLIP temporary file."
msgstr "netikėta skaitomos FLIP laikinosios rinkmenos pabaiga."
-#: src/language/stats/friedman.c:227 src/language/stats/kruskal-wallis.c:242
+#: src/language/stats/friedman.c:227 src/language/stats/kruskal-wallis.c:258
#: src/language/stats/mann-whitney.c:171 src/language/stats/wilcoxon.c:225
msgid "Ranks"
msgstr "Rangai"
-#: src/language/stats/friedman.c:238 src/language/stats/kruskal-wallis.c:256
+#: src/language/stats/friedman.c:238 src/language/stats/kruskal-wallis.c:272
#: src/language/stats/mann-whitney.c:196 src/language/stats/wilcoxon.c:239
msgid "Mean Rank"
msgstr "Vidutinis rangas"
msgid "Only types 1, 2 & 3 sums of squares are currently implemented"
msgstr "Šiuo metu realizuota tik 1, 2 ir 3 tipo kvadratų suma"
-#: src/language/stats/glm.c:737
+#: src/language/stats/glm.c:735
msgid "Tests of Between-Subjects Effects"
msgstr ""
-#: src/language/stats/glm.c:750
+#: src/language/stats/glm.c:748
#, c-format
msgid "Type %s Sum of Squares"
msgstr "%s tipo kvadratų suma"
-#: src/language/stats/glm.c:753 src/language/stats/oneway.c:924
-#: src/language/stats/regression.q:287
+#: src/language/stats/glm.c:751 src/language/stats/oneway.c:971
+#: src/language/stats/regression.c:857
msgid "Mean Square"
msgstr "Vidutinis kvadratas"
-#: src/language/stats/glm.c:754 src/language/stats/oneway.c:925
-#: src/language/stats/t-test-indep.c:288 src/language/stats/regression.q:288
+#: src/language/stats/glm.c:752 src/language/stats/oneway.c:972
+#: src/language/stats/regression.c:858 src/language/stats/t-test-indep.c:288
msgid "F"
msgstr "F"
-#: src/language/stats/glm.c:763
+#: src/language/stats/glm.c:761
msgid "Corrected Model"
msgstr "Koreguotas modelis"
-#: src/language/stats/glm.c:765 src/language/stats/regression.q:372
+#: src/language/stats/glm.c:763 src/language/stats/regression.c:910
msgid "Model"
msgstr "Modelis"
-#: src/language/stats/glm.c:778
+#: src/language/stats/glm.c:776
msgid "Intercept"
msgstr "Atkarpa"
-#: src/language/stats/glm.c:844
+#: src/language/stats/glm.c:842
msgid "Error"
msgstr ""
-#: src/language/stats/glm.c:860
+#: src/language/stats/glm.c:858
msgid "Corrected Total"
-msgstr ""
+msgstr "Viso, koreguota"
#: src/language/stats/ks-one-sample.c:282 src/ui/gui/ks-one-sample.ui:7
msgid "One-Sample Kolmogorov-Smirnov Test"
msgid "Poisson Parameters"
msgstr "Puasono parametrai"
-#: src/language/stats/ks-one-sample.c:320 src/ui/gui/crosstabs-dialog.c:44
-#: src/language/stats/crosstabs.q:1943
+#: src/language/stats/ks-one-sample.c:320
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:74
+#: src/language/stats/crosstabs.q:1972
msgid "Lambda"
msgstr "Liambda"
msgstr "Kolmogorovo ir Smirnovo Z"
#: src/language/stats/ks-one-sample.c:399
+#: src/language/stats/jonckheere-terpstra.c:385
#: src/language/stats/mann-whitney.c:267 src/language/stats/runs.c:399
-#: src/language/stats/wilcoxon.c:318 src/language/stats/crosstabs.q:1236
+#: src/language/stats/wilcoxon.c:318 src/language/stats/crosstabs.q:1266
msgid "Asymp. Sig. (2-tailed)"
msgstr "Asimp. p-reikšmė (2-pusė)"
-#: src/language/stats/mann-whitney.c:202 src/language/stats/wilcoxon.c:240
-msgid "Sum of Ranks"
-msgstr "Rangų suma"
+#: src/language/stats/logistic.c:327
+msgid "All predicted values are either 1 or 0"
+msgstr ""
-#: src/language/stats/mann-whitney.c:264
-msgid "Mann-Whitney U"
-msgstr "Mano ir Vitnio U"
+#: src/language/stats/logistic.c:525
+msgid "Dependent variable's values are not dichotomous."
+msgstr "Priklausomo kintamojo reikšmės nėra dvireikšmės"
-#: src/language/stats/mann-whitney.c:265
-msgid "Wilcoxon W"
-msgstr "Vilkoksono W"
+#: src/language/stats/logistic.c:612
+#, c-format
+msgid "Category %s does not have at least two distinct values. Logistic regression will not be run."
+msgstr ""
-#: src/language/stats/mann-whitney.c:266 src/language/stats/runs.c:396
-#: src/language/stats/wilcoxon.c:317
-msgid "Z"
-msgstr "Z"
+#: src/language/stats/logistic.c:672
+#, c-format
+msgid "Estimation terminated at iteration number %d because parameter estimates changed by less than %g"
+msgstr ""
-#: src/language/stats/mann-whitney.c:271 src/language/stats/mcnemar.c:262
-#: src/language/stats/sign.c:133 src/language/stats/wilcoxon.c:322
-msgid "Exact Sig. (2-tailed)"
-msgstr "Tiksli p-reikšmė (2-pusė)"
+#: src/language/stats/logistic.c:684
+#, c-format
+msgid "Estimation terminated at iteration number %d because Log Likelihood decreased by less than %g%%"
+msgstr ""
-#: src/language/stats/mann-whitney.c:272 src/language/stats/mcnemar.c:268
-#: src/language/stats/sign.c:139 src/language/stats/wilcoxon.c:326
-msgid "Point Probability"
-msgstr "Taško tikimybė"
+#: src/language/stats/logistic.c:699
+#, c-format
+msgid "Estimation terminated at iteration number %d because maximum iterations has been reached"
+msgstr ""
-#: src/language/stats/means.c:411 src/language/stats/median.c:422
-#: src/ui/gui/frequencies-dialog.c:53 src/language/stats/examine.q:1468
-#: src/language/stats/frequencies.q:107
-msgid "Median"
-msgstr "Mediana"
+#: src/language/stats/logistic.c:984
+msgid "Cut point value must be in the range [0,1]"
+msgstr ""
-#: src/language/stats/means.c:412
-msgid "Group Median"
-msgstr "Grupės mediana"
+#: src/language/stats/logistic.c:1129
+msgid "Dependent Variable Encoding"
+msgstr "Priklausomo kintamojo kodavimas"
-#: src/language/stats/means.c:416
-msgid "Min"
-msgstr "Mažiausia"
+#: src/language/stats/logistic.c:1138
+msgid "Original Value"
+msgstr "Pradinė reikšmė"
-#: src/language/stats/means.c:417
-msgid "Max"
-msgstr "Didžiausia"
+#: src/language/stats/logistic.c:1139
+msgid "Internal Value"
+msgstr "Vidinė reikšmė"
-#: src/language/stats/means.c:424
-msgid "First"
-msgstr "Pirmas"
+#: src/language/stats/logistic.c:1190
+msgid "Variables in the Equation"
+msgstr "Lygties kintamieji"
-#: src/language/stats/means.c:425
-msgid "Last"
-msgstr "Paskutinis"
+#: src/language/stats/logistic.c:1199 src/language/stats/logistic.c:1345
+#: src/language/stats/logistic.c:1540
+msgid "Step 1"
+msgstr "1-as žingsnis"
-#: src/language/stats/means.c:427
-msgid "Percent N"
-msgstr ""
+#: src/language/stats/logistic.c:1201 src/language/stats/regression.c:769
+msgid "B"
+msgstr "B"
-#: src/language/stats/means.c:428
-msgid "Percent Sum"
+#: src/language/stats/logistic.c:1202
+msgid "S.E."
msgstr ""
-#: src/language/stats/means.c:430
-msgid "Harmonic Mean"
-msgstr "Harmoninis vidurkis"
+#: src/language/stats/logistic.c:1203
+msgid "Wald"
+msgstr ""
-#: src/language/stats/means.c:431
-msgid "Geom. Mean"
-msgstr "Geom. vidurkis"
+#: src/language/stats/logistic.c:1206
+msgid "Exp(B)"
+msgstr ""
-#: src/language/stats/means.c:1040 src/language/stats/reliability.c:501
-#: src/language/stats/examine.q:1158
-msgid "Case Processing Summary"
-msgstr "Atvejų apdorojimo santrauka"
+#: src/language/stats/logistic.c:1211
+#, c-format
+msgid "%d%% CI for Exp(B)"
+msgstr ""
-#: src/language/stats/means.c:1051 src/language/stats/reliability.c:524
-#: src/language/stats/crosstabs.q:828 src/language/stats/examine.q:1163
-msgid "Cases"
-msgstr "Atvejų"
+#: src/language/stats/logistic.c:1213 src/language/stats/t-test-indep.c:295
+#: src/language/stats/t-test-one-sample.c:98
+#: src/language/stats/t-test-paired.c:312 src/language/stats/crosstabs.q:1314
+msgid "Lower"
+msgstr "Apačia"
-#: src/language/stats/means.c:1053
+#: src/language/stats/logistic.c:1214 src/language/stats/t-test-indep.c:296
+#: src/language/stats/t-test-one-sample.c:99
+#: src/language/stats/t-test-paired.c:313 src/language/stats/crosstabs.q:1315
+msgid "Upper"
+msgstr "Viršus"
+
+#: src/language/stats/logistic.c:1291
+msgid "Constant"
+msgstr "Konstanta"
+
+#: src/language/stats/logistic.c:1336
+msgid "Model Summary"
+msgstr "Modelio santrauka"
+
+#: src/language/stats/logistic.c:1346
+msgid "-2 Log likelihood"
+msgstr ""
+
+#: src/language/stats/logistic.c:1350
+msgid "Cox & Snell R Square"
+msgstr ""
+
+#: src/language/stats/logistic.c:1354
+msgid "Nagelkerke R Square"
+msgstr ""
+
+#: src/language/stats/logistic.c:1383
+msgid "Unweighted Cases"
+msgstr "Nesveriami atvejai"
+
+#: src/language/stats/logistic.c:1388
+msgid "Included in Analysis"
+msgstr "Į analizę įtraukta"
+
+#: src/language/stats/logistic.c:1389
+msgid "Missing Cases"
+msgstr "Praleisti atvejai"
+
+#: src/language/stats/logistic.c:1438
+msgid "Categorical Variables' Codings"
+msgstr "Kategorinių kintamųjų kodavimas"
+
+#: src/language/stats/logistic.c:1448 src/output/charts/plot-hist-cairo.c:119
+#: src/language/stats/frequencies.q:827
+msgid "Frequency"
+msgstr "Dažnis"
+
+#: src/language/stats/logistic.c:1451
+msgid "Parameter coding"
+msgstr "Parametrų kodavimas"
+
+#: src/language/stats/logistic.c:1457
+#, c-format
+msgid "(%d)"
+msgstr "(%d)"
+
+#: src/language/stats/logistic.c:1530
+msgid "Classification Table"
+msgstr "Klasifikacinė lentelė"
+
+#: src/language/stats/logistic.c:1544
+msgid "Predicted"
+msgstr "Prognozuota"
+
+#: src/language/stats/logistic.c:1550
+msgid "Observed"
+msgstr "Stebėtų"
+
+#: src/language/stats/logistic.c:1556
+msgid ""
+"Percentage\n"
+"Correct"
+msgstr ""
+
+#: src/language/stats/logistic.c:1560
+msgid "Overall Percentage"
+msgstr ""
+
+#: src/language/stats/jonckheere-terpstra.c:364
+msgid "Jonckheere-Terpstra Test"
+msgstr "Džonkerės-Terpstra kriterijus"
+
+#: src/language/stats/jonckheere-terpstra.c:378
+#, c-format
+msgid "Number of levels in %s"
+msgstr "%s lygių skaičius"
+
+#: src/language/stats/jonckheere-terpstra.c:381
+msgid "Observed J-T Statistic"
+msgstr ""
+
+#: src/language/stats/jonckheere-terpstra.c:382
+msgid "Mean J-T Statistic"
+msgstr ""
+
+#: src/language/stats/jonckheere-terpstra.c:383
+msgid "Std. Deviation of J-T Statistic"
+msgstr ""
+
+#: src/language/stats/jonckheere-terpstra.c:384
+msgid "Std. J-T Statistic"
+msgstr ""
+
+#: src/language/stats/mann-whitney.c:202 src/language/stats/wilcoxon.c:240
+msgid "Sum of Ranks"
+msgstr "Rangų suma"
+
+#: src/language/stats/mann-whitney.c:264
+msgid "Mann-Whitney U"
+msgstr "Mano ir Vitnio U"
+
+#: src/language/stats/mann-whitney.c:265
+msgid "Wilcoxon W"
+msgstr "Vilkoksono W"
+
+#: src/language/stats/mann-whitney.c:266 src/language/stats/runs.c:396
+#: src/language/stats/wilcoxon.c:317
+msgid "Z"
+msgstr "Z"
+
+#: src/language/stats/mann-whitney.c:271 src/language/stats/mcnemar.c:262
+#: src/language/stats/sign.c:133 src/language/stats/wilcoxon.c:322
+msgid "Exact Sig. (2-tailed)"
+msgstr "Tiksli p-reikšmė (2-pusė)"
+
+#: src/language/stats/mann-whitney.c:272 src/language/stats/mcnemar.c:268
+#: src/language/stats/sign.c:139 src/language/stats/wilcoxon.c:326
+msgid "Point Probability"
+msgstr "Taško tikimybė"
+
+#: src/language/stats/means.c:412
+msgid "Group Median"
+msgstr "Grupės mediana"
+
+#: src/language/stats/means.c:416
+msgid "Min"
+msgstr "Mažiausia"
+
+#: src/language/stats/means.c:417
+msgid "Max"
+msgstr "Didžiausia"
+
+#: src/language/stats/means.c:424
+msgid "First"
+msgstr "Pirmas"
+
+#: src/language/stats/means.c:425
+msgid "Last"
+msgstr "Paskutinis"
+
+#: src/language/stats/means.c:427
+msgid "Percent N"
+msgstr ""
+
+#: src/language/stats/means.c:428
+msgid "Percent Sum"
+msgstr ""
+
+#: src/language/stats/means.c:430
+msgid "Harmonic Mean"
+msgstr "Harmoninis vidurkis"
+
+#: src/language/stats/means.c:431
+msgid "Geom. Mean"
+msgstr "Geom. vidurkis"
+
+#: src/language/stats/means.c:1055
msgid "Included"
msgstr "Įtrauktų"
-#: src/language/stats/means.c:1054 src/language/stats/reliability.c:530
+#: src/language/stats/means.c:1056 src/language/stats/reliability.c:557
msgid "Excluded"
msgstr "Atmestų"
-#: src/language/stats/means.c:1066 src/language/stats/crosstabs.q:839
-#: src/language/stats/examine.q:1178 src/language/stats/frequencies.q:823
-msgid "Percent"
-msgstr "Procentai"
-
-#: src/language/stats/means.c:1096 src/language/stats/means.c:1105
-#: src/language/stats/means.c:1114
+#: src/language/stats/means.c:1098 src/language/stats/means.c:1107
+#: src/language/stats/means.c:1116
#, c-format
msgid "%g%%"
msgstr "%g%%"
-#: src/language/stats/means.c:1147
+#: src/language/stats/means.c:1148
msgid "Report"
msgstr "Ataskaita"
msgid "Exact Sig. (1-tailed)"
msgstr "Tiksli p-reikšmė (1-pusė)"
-#: src/language/stats/median.c:360
+#: src/language/stats/median.c:358
msgid "> Median"
msgstr "> Mediana"
-#: src/language/stats/median.c:363
+#: src/language/stats/median.c:361
msgid "≤ Median"
msgstr "≤ Mediana"
-#: src/language/stats/npar.c:511
+#: src/language/stats/npar.c:537
msgid "NPAR subcommand not currently implemented."
msgstr "NPAR pokomandis dar nerealizuotas."
-#: src/language/stats/npar.c:665
+#: src/language/stats/npar.c:691
msgid "Expecting MEAN, MEDIAN, MODE or number"
msgstr "Tikimasi MEAN, MEDIAN, MODE arba skaičiaus"
-#: src/language/stats/npar.c:815
+#: src/language/stats/npar.c:841
#, c-format
msgid "The specified value of HI (%d) is lower than the specified value of LO (%d)"
msgstr ""
-#: src/language/stats/npar.c:865
+#: src/language/stats/npar.c:891
#, c-format
msgid "%d expected values were given, but the specified range (%d-%d) requires exactly %d values."
msgstr ""
-#: src/language/stats/npar.c:1078 src/language/stats/t-test-parser.c:163
+#: src/language/stats/npar.c:1106 src/language/stats/t-test-parser.c:163
#, c-format
msgid "PAIRED was specified but the number of variables preceding WITH (%zu) did not match the number following (%zu)."
msgstr ""
-#: src/language/stats/npar-summary.c:142 src/language/stats/examine.q:1995
-#: src/language/stats/examine.q:2012 src/language/stats/frequencies.q:1057
-#: src/ui/gui/examine.ui:345
-msgid "Percentiles"
-msgstr "Procentiliai"
-
#: src/language/stats/npar-summary.c:146
msgid "25th"
msgstr "25-asis"
msgid "Šidák"
msgstr "Šidák"
-#: src/language/stats/oneway.c:480
+#: src/language/stats/oneway.c:511
#, c-format
msgid "The post hoc analysis method %s is not supported."
msgstr "Post hoc analizės medotas %s nepalaikomas."
-#: src/language/stats/oneway.c:781
+#: src/language/stats/oneway.c:826
#, c-format
msgid "Dependent variable %s has no non-missing values. No analysis for this variable will be done."
msgstr ""
-#: src/language/stats/oneway.c:858
+#: src/language/stats/oneway.c:904
#, c-format
msgid "In contrast list %zu, the number of coefficients (%zu) does not equal the number of groups (%d). This contrast list will be ignored."
msgstr "Kontrastų sąraše %zu koeficientų skaičius (%zu) nelygus grupių skaičiui (%d). Todėl šio kontrastų sąrašo nepaisoma."
-#: src/language/stats/oneway.c:869
+#: src/language/stats/oneway.c:916
#, c-format
msgid "Coefficients for contrast %zu do not total zero"
msgstr "Kontrastų sąrašo Nr. %zu suma koeficientų suma nelygi nuliui"
-#: src/language/stats/oneway.c:922 src/language/stats/regression.q:285
+#: src/language/stats/oneway.c:969 src/language/stats/regression.c:855
msgid "Sum of Squares"
msgstr "Kvadratų suma"
-#: src/language/stats/oneway.c:926 src/language/stats/oneway.c:1173
-#: src/language/stats/regression.q:203 src/language/stats/regression.q:289
+#: src/language/stats/oneway.c:973 src/language/stats/oneway.c:1220
+#: src/language/stats/regression.c:773 src/language/stats/regression.c:859
msgid "Significance"
msgstr "Reikšmingumas"
-#: src/language/stats/oneway.c:944
+#: src/language/stats/oneway.c:991
msgid "Between Groups"
msgstr "Tarp grupių"
-#: src/language/stats/oneway.c:945
+#: src/language/stats/oneway.c:992
msgid "Within Groups"
msgstr "Vidinė"
-#: src/language/stats/oneway.c:978 src/language/stats/regression.q:314
+#: src/language/stats/oneway.c:1025
msgid "ANOVA"
msgstr "ANOVA"
-#: src/language/stats/oneway.c:1019 src/language/stats/oneway.c:1326
-#: src/language/stats/oneway.c:1531 src/language/stats/roc.c:975
-#: src/language/stats/examine.q:1640 src/language/stats/regression.q:200
-msgid "Std. Error"
-msgstr "Std. paklaida"
-
-#: src/language/stats/oneway.c:1025 src/language/stats/examine.q:1448
-#, c-format
-msgid "%g%% Confidence Interval for Mean"
-msgstr "%g%% pasikliautinasis intervalas vidurkiams"
-
-#: src/language/stats/oneway.c:1028 src/language/stats/oneway.c:1538
-#: src/language/stats/roc.c:978 src/language/stats/examine.q:1454
-msgid "Lower Bound"
-msgstr "Apačia"
-
-#: src/language/stats/oneway.c:1029 src/language/stats/oneway.c:1539
-#: src/language/stats/roc.c:979 src/language/stats/examine.q:1459
-msgid "Upper Bound"
-msgstr "Viršus"
-
-#: src/language/stats/oneway.c:1034 src/language/stats/examine.q:1634
-#: src/ui/gui/descriptives.ui:8 src/ui/gui/examine.ui:319
-msgid "Descriptives"
-msgstr "Aprašomoji"
-
-#: src/language/stats/oneway.c:1170
+#: src/language/stats/oneway.c:1217
msgid "Levene Statistic"
msgstr "Statistika (Levene)"
-#: src/language/stats/oneway.c:1171
+#: src/language/stats/oneway.c:1218
msgid "df1"
msgstr "skirt1"
-#: src/language/stats/oneway.c:1172
+#: src/language/stats/oneway.c:1219
msgid "df2"
msgstr "skirt2"
-#: src/language/stats/oneway.c:1175
+#: src/language/stats/oneway.c:1222
msgid "Test of Homogeneity of Variances"
msgstr "Dispersijų homogeniškumo kriterijus"
-#: src/language/stats/oneway.c:1248
+#: src/language/stats/oneway.c:1295
msgid "Contrast Coefficients"
msgstr "Kontrastų koeficientai"
-#: src/language/stats/oneway.c:1250 src/language/stats/oneway.c:1324
+#: src/language/stats/oneway.c:1297 src/language/stats/oneway.c:1371
msgid "Contrast"
msgstr "Kontrastas"
-#: src/language/stats/oneway.c:1322
+#: src/language/stats/oneway.c:1369
msgid "Contrast Tests"
msgstr "Kontrastų kriterijus"
-#: src/language/stats/oneway.c:1325
+#: src/language/stats/oneway.c:1372
msgid "Value of Contrast"
msgstr "Kontrasto reikšmė"
-#: src/language/stats/oneway.c:1327 src/language/stats/t-test-indep.c:290
+#: src/language/stats/oneway.c:1374 src/language/stats/regression.c:772
+#: src/language/stats/t-test-indep.c:290
#: src/language/stats/t-test-one-sample.c:94
-#: src/language/stats/t-test-paired.c:305 src/language/stats/regression.q:202
+#: src/language/stats/t-test-paired.c:305
msgid "t"
msgstr "t"
-#: src/language/stats/oneway.c:1379
+#: src/language/stats/oneway.c:1426
msgid "Assume equal variances"
msgstr "Manant, kas dispersijos yra lygios"
-#: src/language/stats/oneway.c:1383
+#: src/language/stats/oneway.c:1430
msgid "Does not assume equal"
msgstr "Nemanant, kad lygios"
-#: src/language/stats/oneway.c:1525
+#: src/language/stats/oneway.c:1572
msgid "Multiple Comparisons"
msgstr "Kartotiniai palyginimai"
-#: src/language/stats/oneway.c:1527
+#: src/language/stats/oneway.c:1574
#, c-format
msgid "(I) %s"
msgstr ""
-#: src/language/stats/oneway.c:1528
+#: src/language/stats/oneway.c:1575
#, c-format
msgid "(J) %s"
msgstr ""
-#: src/language/stats/oneway.c:1529 src/language/stats/t-test-indep.c:293
+#: src/language/stats/oneway.c:1576 src/language/stats/t-test-indep.c:293
#: src/language/stats/t-test-one-sample.c:97
msgid "Mean Difference"
msgstr "Vidurkių skirtumas"
-#: src/language/stats/oneway.c:1530
+#: src/language/stats/oneway.c:1577
msgid "(I - J)"
msgstr ""
-#: src/language/stats/oneway.c:1535
+#: src/language/stats/oneway.c:1582
#, c-format
msgid "%g%% Confidence Interval"
msgstr "%g%% pasikliautinasis intervalas"
msgid "Number of clusters may not be larger than the number of cases."
msgstr "Klasterių skaičius negali būti didesnis nei atvejų skaičius."
-#: src/language/stats/quick-cluster.c:403
+#: src/language/stats/quick-cluster.c:402
msgid "Final Cluster Centers"
msgstr "Galutiniai klasterių centrai"
-#: src/language/stats/quick-cluster.c:407
+#: src/language/stats/quick-cluster.c:406
msgid "Initial Cluster Centers"
msgstr "Pradiniai klasterių centrai"
-#: src/language/stats/quick-cluster.c:410
-#: src/language/stats/quick-cluster.c:464
+#: src/language/stats/quick-cluster.c:409
+#: src/language/stats/quick-cluster.c:463
msgid "Cluster"
msgstr "Klasteris"
-#: src/language/stats/quick-cluster.c:462
+#: src/language/stats/quick-cluster.c:461
msgid "Number of Cases in each Cluster"
msgstr "Atvejų skaičius kiekviename klasteryje"
-#: src/language/stats/quick-cluster.c:476 src/language/stats/reliability.c:527
-#: src/language/stats/crosstabs.q:829 src/language/stats/examine.q:1102
-#: src/language/stats/frequencies.q:1042
-msgid "Valid"
-msgstr "Galiojančių"
+#: src/language/stats/rank.c:206
+#, c-format
+msgid "Cannot generate variable name for ranking %s with %s. All candidates in use."
+msgstr "Nepavyksta sukurti naujo rangų kintamojo %s su %s. Visi kandidatai panaudoti."
-#: src/language/stats/rank.c:207
-msgid "Cannot create new rank variable. All candidates in use."
-msgstr "Nepavyksta sukurti naujo rangų kintamojo. Visi kandidatai panaudoti."
+#: src/language/stats/rank.c:321
+msgid "Too many variables in INTO clause."
+msgstr "INTO sąlygoje per daug kintamųjų."
-#: src/language/stats/rank.c:326
+#: src/language/stats/rank.c:323
#, c-format
msgid "Variable %s already exists."
msgstr "Toks kintamasis %s jau yra."
-#: src/language/stats/rank.c:332
-msgid "Too many variables in INTO clause."
-msgstr "INTO sąlygoje per daug kintamųjų."
+#: src/language/stats/rank.c:325 src/language/expressions/evaluate.c:164
+#, c-format
+msgid "Duplicate variable name %s."
+msgstr "Kintamojo vardas %s kartojasi."
-#: src/language/stats/rank.c:647
+#: src/language/stats/rank.c:631
#, c-format
msgid "%s of %s by %s"
msgstr "%s iš %s pagal %s"
-#: src/language/stats/rank.c:652
+#: src/language/stats/rank.c:636
#, c-format
msgid "%s of %s"
msgstr "%s iš %s"
-#: src/language/stats/rank.c:829
+#: src/language/stats/rank.c:823
msgid "Variables Created By RANK"
msgstr "Kintamieji, sukurti pagal RANK"
-#: src/language/stats/rank.c:853
+#: src/language/stats/rank.c:847
#, c-format
msgid "%s into %s(%s of %s using %s BY %s)"
msgstr "%s į %s (%s iš %s naudojant %s pagal %s)"
-#: src/language/stats/rank.c:863
+#: src/language/stats/rank.c:857
#, c-format
msgid "%s into %s(%s of %s BY %s)"
msgstr "%s į %s (%s iš %s pagal %s)"
-#: src/language/stats/rank.c:876
+#: src/language/stats/rank.c:870
#, c-format
msgid "%s into %s(%s of %s using %s)"
msgstr "%s į %s (%s iš %s naudojant %s)"
-#: src/language/stats/rank.c:885
+#: src/language/stats/rank.c:879
#, c-format
msgid "%s into %s(%s of %s)"
msgstr "%s į %s (%s iš %s)"
-#: src/language/stats/reliability.c:141
+#: src/language/stats/reliability.c:163
msgid "Reliability on a single variable is not useful."
msgstr "Klausimynų patikimumo skaičiavimas remiantis vienu kintamuoju nėra naudingas."
-#: src/language/stats/reliability.c:538
+#: src/language/stats/reliability.c:290
+msgid "The split point must be less than the number of variables"
+msgstr "Skaidant kintamųjų skaičius pirmoje dalyje negali būti didesnis nei visų kintamųjų skaičius"
+
+#: src/language/stats/reliability.c:502
+#, c-format
+msgid "Scale: %s"
+msgstr "Skalė: %s"
+
+#: src/language/stats/reliability.c:565 src/ui/gui/logistic.ui:288
msgid "%"
msgstr "%"
-#: src/language/stats/reliability.c:583
+#: src/language/stats/reliability.c:610
msgid "Item-Total Statistics"
msgstr "„Elementas-visuma“ statistika"
-#: src/language/stats/reliability.c:605
+#: src/language/stats/reliability.c:632
msgid "Scale Mean if Item Deleted"
msgstr "Klausimyno vidurkis, jei elementas pašalintas"
-#: src/language/stats/reliability.c:608
+#: src/language/stats/reliability.c:635
msgid "Scale Variance if Item Deleted"
msgstr "Klausimyno dispersija, jei elementas pašalintas"
-#: src/language/stats/reliability.c:611
+#: src/language/stats/reliability.c:638
msgid "Corrected Item-Total Correlation"
msgstr "Koreguota „elementas-visuma“ koreliacija"
-#: src/language/stats/reliability.c:614
+#: src/language/stats/reliability.c:641
msgid "Cronbach's Alpha if Item Deleted"
msgstr "Kronbacho alfa, jei elementas pašalintas"
-#: src/language/stats/reliability.c:688
+#: src/language/stats/reliability.c:715
msgid "Reliability Statistics"
msgstr "Klausimynų patikimumo statistika"
-#: src/language/stats/reliability.c:728 src/language/stats/reliability.c:747
+#: src/language/stats/reliability.c:755 src/language/stats/reliability.c:774
msgid "Cronbach's Alpha"
msgstr "Kronbacho alfa"
-#: src/language/stats/reliability.c:731 src/language/stats/reliability.c:756
-#: src/language/stats/reliability.c:767
+#: src/language/stats/reliability.c:758 src/language/stats/reliability.c:783
+#: src/language/stats/reliability.c:794
msgid "N of Items"
msgstr "N elementų"
-#: src/language/stats/reliability.c:750
+#: src/language/stats/reliability.c:777
msgid "Part 1"
msgstr "1 dalis"
-#: src/language/stats/reliability.c:761
+#: src/language/stats/reliability.c:788
msgid "Part 2"
msgstr "2 dalis"
-#: src/language/stats/reliability.c:772
+#: src/language/stats/reliability.c:799
msgid "Total N of Items"
msgstr "Iš viso N elementų"
-#: src/language/stats/reliability.c:775
+#: src/language/stats/reliability.c:802
msgid "Correlation Between Forms"
msgstr "Koreliacija tarp formų"
-#: src/language/stats/reliability.c:779
+#: src/language/stats/reliability.c:806
msgid "Spearman-Brown Coefficient"
msgstr "Spirmeno ir Brauno koeficientas"
-#: src/language/stats/reliability.c:782
+#: src/language/stats/reliability.c:809
msgid "Equal Length"
msgstr "Vienodas ilgis"
-#: src/language/stats/reliability.c:785
+#: src/language/stats/reliability.c:812
msgid "Unequal Length"
msgstr "Nevienodas ilgis"
-#: src/language/stats/reliability.c:789
+#: src/language/stats/reliability.c:816
msgid "Guttman Split-Half Coefficient"
msgstr "Gutmano dalinimo pusiau koeficientas"
msgid "1 - Specificity"
msgstr "1 - specifiškumas"
+#: src/language/stats/regression.c:506
+msgid "The dependent variable is equal to the independent variable.The least squares line is therefore Y=X.Standard errors and related statistics may be meaningless."
+msgstr "Priklausomas kintamasis lygus nepriklausomam kintamajam. Todėl mažiausiųjų kvadratų linija yra Y=X. Standartinė paklaida ir kita statistika gali būti beprasmiška."
+
+#: src/language/stats/regression.c:688
+msgid "No valid data found. This command was skipped."
+msgstr "Nerasta tinkamų duomenų. Ši komanda buvo praleista."
+
+#: src/language/stats/regression.c:727
+#: src/ui/gui/psppire-dialog-action-regression.c:41
+msgid "R"
+msgstr "R"
+
+#: src/language/stats/regression.c:728
+msgid "R Square"
+msgstr "R kvadratas"
+
+#: src/language/stats/regression.c:729
+msgid "Adjusted R Square"
+msgstr "Koreguotas R kvadratas"
+
+#: src/language/stats/regression.c:730
+msgid "Std. Error of the Estimate"
+msgstr "Įverčio std. paklaida"
+
+#: src/language/stats/regression.c:735
+#, c-format
+msgid "Model Summary (%s)"
+msgstr "Modelio santrauka (%s)"
+
+#: src/language/stats/regression.c:771
+msgid "Beta"
+msgstr "Beta"
+
+#: src/language/stats/regression.c:774
+msgid "(Constant)"
+msgstr "(Konstanta)"
+
+#: src/language/stats/regression.c:826
+#, c-format
+msgid "Coefficients (%s)"
+msgstr "Koeficientai (%s)"
+
+#: src/language/stats/regression.c:861 src/ui/gui/regression.ui:7
+msgid "Regression"
+msgstr "Regresija"
+
+#: src/language/stats/regression.c:884
+#, c-format
+msgid "ANOVA (%s)"
+msgstr "ANOVA (%s)"
+
+#: src/language/stats/regression.c:911
+msgid "Covariances"
+msgstr "Kovariacija"
+
+#: src/language/stats/regression.c:926
+#, c-format
+msgid "Coefficient Correlations (%s)"
+msgstr "Koeficientų koreliacijos (%s)"
+
#: src/language/stats/runs.c:167
#, c-format
msgid "Multiple modes exist for varible `%s'. Using %g as the threshold value."
msgid "Std. Error Difference"
msgstr "Vidurkių skirtumo std. paklaida"
-#: src/language/stats/t-test-indep.c:295
-#: src/language/stats/t-test-one-sample.c:98
-#: src/language/stats/t-test-paired.c:312 src/language/stats/crosstabs.q:1284
-msgid "Lower"
-msgstr "Apačia"
-
-#: src/language/stats/t-test-indep.c:296
-#: src/language/stats/t-test-one-sample.c:99
-#: src/language/stats/t-test-paired.c:313 src/language/stats/crosstabs.q:1285
-msgid "Upper"
-msgstr "Viršus"
-
#: src/language/stats/t-test-indep.c:299
#: src/language/stats/t-test-one-sample.c:89
#: src/language/stats/t-test-paired.c:300
#: src/language/stats/wilcoxon.c:361
msgid "Too many pairs to calculate exact significance."
-msgstr ""
+msgstr "Pernelyg daug porų tikslaus reikšmingumo skaičiavimui."
-#: src/language/data-io/combine-files.c:212
+#: src/language/data-io/combine-files.c:214
msgid "Cannot specify the active dataset since none has been defined."
msgstr "Nepavyksta nurodyti aktyvaus duomenų rinkinio, nes toks nebuvo apibrėžtas."
-#: src/language/data-io/combine-files.c:218
+#: src/language/data-io/combine-files.c:220
msgid "This command may not be used after TEMPORARY when the active dataset is an input source. Temporary transformations will be made permanent."
msgstr "Ši komanda negali būti naudojama po TEMPORARY, jei veikiamasis duomenų rinkinys yra įvedimo šaltinis. Laikinos transformacijos bus nuolat."
-#: src/language/data-io/combine-files.c:252
+#: src/language/data-io/combine-files.c:254
msgid "Multiple IN subcommands for a single FILE or TABLE."
msgstr "Keletas IN pokomandžių vienai rinkmenai (FILE) ar lentelei (TABLE)."
-#: src/language/data-io/combine-files.c:304
+#: src/language/data-io/combine-files.c:306
#, c-format
msgid "File %s lacks BY variable %s."
msgstr "Rinkmenai %s trūksta BY kintamojo %s."
-#: src/language/data-io/combine-files.c:307
+#: src/language/data-io/combine-files.c:309
#, c-format
msgid "Active dataset lacks BY variable %s."
msgstr "Aktyviam duomenų rinkiniui trūksta BY kintamojo %s."
-#: src/language/data-io/combine-files.c:384
-#: src/language/data-io/combine-files.c:389
+#: src/language/data-io/combine-files.c:386
+#: src/language/data-io/combine-files.c:391
#, c-format
msgid "BY is required when %s is specified."
msgstr "Kai nurodomas %s, reikalinga BY komanda."
-#: src/language/data-io/combine-files.c:514
+#: src/language/data-io/combine-files.c:519
msgid "Combining files with incompatible encodings. String data may not be represented correctly."
msgstr "Derinamos rinkmenos su nesuderinamomis koduotėmis. Tekstinių eilučių duomenys gali būti pateikti netinkamai."
-#: src/language/data-io/combine-files.c:555
+#: src/language/data-io/combine-files.c:560
#, c-format
msgid "Variable %s in file %s has different type or width from the same variable in earlier file."
msgstr "Kintamasis %s rinkmenoje %s yra kitokio tipo arba kitokio pločio negu tas pats kintamasis ankstesnėje rinkmenoje."
-#: src/language/data-io/combine-files.c:561
+#: src/language/data-io/combine-files.c:566
#, c-format
msgid "In file %s, %s is numeric."
msgstr "%s rinkmenoje: %s yra skaitmeninis."
-#: src/language/data-io/combine-files.c:564
+#: src/language/data-io/combine-files.c:569
#, c-format
msgid "In file %s, %s is a string variable with width %d."
msgstr "%s rinkmenoje: %s yra teksto eilutės kintamasis, kurio plotis %d."
-#: src/language/data-io/combine-files.c:569
+#: src/language/data-io/combine-files.c:574
#, c-format
msgid "In an earlier file, %s was numeric."
msgstr "Ankstesnėje rinkmenoje: %s buvo skaitmeninis."
-#: src/language/data-io/combine-files.c:572
+#: src/language/data-io/combine-files.c:577
#, c-format
msgid "In an earlier file, %s was a string variable with width %d."
msgstr "Ankstesnėje rinkmenoje: %s buvo teksto eilutės kintamasis, kurio plotis %d."
-#: src/language/data-io/combine-files.c:612
+#: src/language/data-io/combine-files.c:617
#, c-format
msgid "Variable name %s specified on %s subcommand duplicates an existing variable name."
msgstr "Kintamojo vardas %s, kuris nurodytas %s pokomandyje, dubliuoja esamą kintamojo vardą."
-#: src/language/data-io/combine-files.c:774
+#: src/language/data-io/combine-files.c:789
#, c-format
msgid "Encountered %zu sets of duplicate cases in the master file."
msgstr ""
-#: src/language/data-io/data-list.c:140
+#: src/language/data-io/data-list.c:141
msgid "The END subcommand may only be used within INPUT PROGRAM."
msgstr "Pokomandis END gali būti naudojamas tik INPUT PROGRAM viduje."
-#: src/language/data-io/data-list.c:146
+#: src/language/data-io/data-list.c:147
msgid "The END subcommand may only be specified once."
msgstr "Pokomandis END gali būti nurodytas tik vieną kartą."
-#: src/language/data-io/data-list.c:184
+#: src/language/data-io/data-list.c:185
msgid "Only one of FIXED, FREE, or LIST may be specified."
msgstr "Gali būti nurodytas tik kuris nors vienas: FIXED, FREE arba LIST."
-#: src/language/data-io/data-list.c:245
+#: src/language/data-io/data-list.c:246
msgid "Encoding should not be specified for inline data. It will be ignored."
msgstr "Kodavimas neturėtų būti nurodomas duomenų viduje. Ignoruojama."
-#: src/language/data-io/data-list.c:254
+#: src/language/data-io/data-list.c:255
msgid "The END subcommand may be used only with DATA LIST FIXED."
msgstr "Pokomandis END gali būti naudojamas tik su DATA LIST FIXED."
-#: src/language/data-io/data-list.c:269
+#: src/language/data-io/data-list.c:270
msgid "At least one variable must be specified."
msgstr "Turi būti nurodytas bent vienas kintamasis.q"
-#: src/language/data-io/data-list.c:368 src/language/data-io/data-list.c:457
-#: src/language/data-io/get-data.c:592
+#: src/language/data-io/data-list.c:369 src/language/data-io/data-list.c:477
+#: src/language/data-io/get-data.c:645
#, c-format
msgid "%s is a duplicate variable name."
msgstr "Kintamojo vardas „%s“ kartojasi."
-#: src/language/data-io/data-list.c:375
+#: src/language/data-io/data-list.c:376
#, c-format
msgid "There is already a variable %s of a different type."
msgstr "Toks kintamasis %s jau yra kitokio tipo."
-#: src/language/data-io/data-list.c:382
+#: src/language/data-io/data-list.c:383
#, c-format
msgid "There is already a string variable %s of a different width."
msgstr "Toks teksto eilutės kintamasis %s jau yra, bet kitokio pločio."
-#: src/language/data-io/data-list.c:390
+#: src/language/data-io/data-list.c:391
#, c-format
msgid "Cannot place variable %s on record %d when RECORDS=%d is specified."
msgstr ""
msgid "Quoted string extends beyond end of line."
msgstr "Tekste tarp kabučių yra nauja eilutė."
-#: src/language/data-io/data-parser.c:516
+#: src/language/data-io/data-parser.c:486
+msgid "Missing delimiter following quoted string."
+msgstr ""
+
+#: src/language/data-io/data-parser.c:524
#, c-format
msgid "Data for variable %s is not valid as format %s: %s"
msgstr "Kintamojo %s duomenys neatitinka %s formato: %s"
-#: src/language/data-io/data-parser.c:545
+#: src/language/data-io/data-parser.c:553
#, c-format
msgid "Partial case of %d of %d records discarded."
msgstr ""
-#: src/language/data-io/data-parser.c:602
+#: src/language/data-io/data-parser.c:610
#, c-format
msgid "Partial case discarded. The first variable missing was %s."
msgstr ""
-#: src/language/data-io/data-parser.c:644
+#: src/language/data-io/data-parser.c:652
#, c-format
msgid "Missing value(s) for all variables from %s onward. These will be filled with the system-missing value or blanks, as appropriate."
msgstr ""
-#: src/language/data-io/data-parser.c:664
+#: src/language/data-io/data-parser.c:672
msgid "Record ends in data not part of any field."
msgstr ""
-#: src/language/data-io/data-parser.c:684 src/language/data-io/print.c:404
+#: src/language/data-io/data-parser.c:692 src/language/data-io/print.c:447
msgid "Record"
msgstr "Įrašas"
-#: src/language/data-io/data-parser.c:685 src/language/data-io/print.c:405
-#: src/ui/gui/psppire-var-sheet.c:538 src/ui/gui/psppire-var-store.c:775
+#: src/language/data-io/data-parser.c:693 src/language/data-io/print.c:448
+#: src/ui/gui/psppire-var-sheet.c:558 src/ui/gui/psppire-var-store.c:780
msgid "Columns"
msgstr "Stulpeliai"
-#: src/language/data-io/data-parser.c:686
-#: src/language/data-io/data-parser.c:723 src/language/data-io/print.c:406
+#: src/language/data-io/data-parser.c:694
+#: src/language/data-io/data-parser.c:731 src/language/data-io/print.c:449
msgid "Format"
msgstr "Formatas"
-#: src/language/data-io/data-parser.c:704
+#: src/language/data-io/data-parser.c:712
#, c-format
msgid "Reading %d record from %s."
msgid_plural "Reading %d records from %s."
msgstr[2] "Skaitomi %d įrašai iš %s."
msgstr[3] "Skaitoma %d įrašų iš %s."
-#: src/language/data-io/data-parser.c:738
+#: src/language/data-io/data-parser.c:746
#, c-format
msgid "Reading free-form data from %s."
msgstr "Skaitomi laisvo formato duomenys iš %s."
#. TRANSLATORS: this fragment will be interpolated into
#. messages in fh_lock() that identify types of files.
-#: src/language/data-io/data-reader.c:123
-#: src/language/data-io/data-writer.c:58
+#: src/language/data-io/data-reader.c:138
+#: src/language/data-io/data-writer.c:79
msgid "data file"
msgstr "duomenų rinkmena"
-#: src/language/data-io/data-reader.c:148
+#: src/language/data-io/data-reader.c:163
#, c-format
msgid "Could not open `%s' for reading as a data file: %s."
msgstr "Nepavyksta atverti „%s“ nuskaitymui duomenų rinkmenos formatu: %s."
-#: src/language/data-io/data-reader.c:198
+#: src/language/data-io/data-reader.c:180
+#, c-format
+msgid "Could not read `%s' as a text file with encoding `%s': %s."
+msgstr "Nepavyksta atverti „%s“ kaip tekstinės rinkmenos naudojant „%s“ koduotę: %s."
+
+#: src/language/data-io/data-reader.c:239
msgid "Missing END DATA while reading inline data. This probably indicates a missing or incorrectly formatted END DATA command. END DATA must appear by itself on a single line with exactly one space between words."
msgstr ""
-#: src/language/data-io/data-reader.c:219
+#: src/language/data-io/data-reader.c:259
+#: src/language/data-io/data-reader.c:393
#, c-format
msgid "Error reading file %s: %s."
msgstr "Rinkmenos %s skaitymo klaida: %s."
-#: src/language/data-io/data-reader.c:222
-#, c-format
-msgid "Unexpected end of file reading %s."
-msgstr "Netikėta skaitomos rinkmenos %s pabaiga."
-
-#: src/language/data-io/data-reader.c:231
+#: src/language/data-io/data-reader.c:267
#, c-format
msgid "Unexpected end of file in partial record reading %s."
msgstr "Netikėta rinkmenos pabaiga daliniame įraše skaitant %s."
-#: src/language/data-io/data-reader.c:291
+#: src/language/data-io/data-reader.c:327
#, c-format
msgid "Corrupt block descriptor word at offset 0x%lx in %s."
msgstr ""
-#: src/language/data-io/data-reader.c:292
+#: src/language/data-io/data-reader.c:328
#, c-format
msgid "Corrupt record descriptor word at offset 0x%lx in %s."
msgstr ""
-#: src/language/data-io/data-reader.c:305
+#: src/language/data-io/data-reader.c:341
#, c-format
msgid "Corrupt record size at offset 0x%lx in %s."
msgstr "Sugadintas įrašo dydis ties 0x%lx poslinkiu (%s)."
-#: src/language/data-io/data-reader.c:445
+#: src/language/data-io/data-reader.c:499
msgid "Record exceeds remaining block length."
msgstr ""
-#: src/language/data-io/data-reader.c:519
+#: src/language/data-io/data-reader.c:573
#, c-format
msgid "Attempt to read beyond end-of-file on file %s."
msgstr "Bandoma skaityti už rinkmenos %s pabaigos."
-#: src/language/data-io/data-reader.c:522
+#: src/language/data-io/data-reader.c:576
msgid "Attempt to read beyond END DATA."
msgstr "Bandoma skaityti už END DATA."
-#: src/language/data-io/data-reader.c:706
+#: src/language/data-io/data-reader.c:764
msgid "This command is not valid here since the current input program does not access the inline file."
msgstr ""
-#: src/language/data-io/data-writer.c:73
+#: src/language/data-io/data-writer.c:107
#, c-format
msgid "An error occurred while opening `%s' for writing as a data file: %s."
msgstr "Klaida atveriant „%s“ įrašymui kaip duomenų rinkmeną: %s"
-#: src/language/data-io/data-writer.c:190
+#: src/language/data-io/data-writer.c:225
#, c-format
msgid "I/O error occurred writing data file `%s'."
msgstr "Įvedimo/išvedimo klaida įrašant duomenų rinkmeną „%s“."
msgid "(active dataset)"
msgstr "(veikiamasis duomenų rinkinys)"
-#: src/language/data-io/get-data.c:99
+#: src/language/data-io/get-data.c:120
#, c-format
msgid "Unsupported TYPE %s."
msgstr "Nepalaikomas TYPE (tipas) %s."
-#: src/language/data-io/get-data.c:293
+#: src/language/data-io/get-data.c:255
+msgid "The sheet index must be greater than or equal to 1"
+msgstr "Lakšto indeksas turi būti ne mažesnis kaip 1"
+
+#: src/language/data-io/get-data.c:262 src/language/data-io/get-data.c:285
+#: src/language/data-io/get-data.c:304
+#, c-format
+msgid "%s must be followed by either \"%s\" or \"%s\"."
+msgstr "prieš %s turi eiti „%s“ arba „%s“."
+
+#: src/language/data-io/get-data.c:334
#, c-format
msgid "%s is allowed only with %s arrangement, but %s arrangement was stated or implied earlier in this command."
msgstr ""
-#: src/language/data-io/get-data.c:362
+#: src/language/data-io/get-data.c:415
msgid "Value of FIRSTCASE must be 1 or greater."
msgstr "FIRSTCASE turi būti 1 arba didesnė."
-#: src/language/data-io/get-data.c:400
+#: src/language/data-io/get-data.c:453
msgid "Value of FIXCASE must be at least 1."
msgstr "FIXCASE reikšmė turi būti bent 1."
-#: src/language/data-io/get-data.c:420
+#: src/language/data-io/get-data.c:473
msgid "Value of FIRST must be at least 1."
msgstr "FIRST reikšmė turi būti bent 1."
-#: src/language/data-io/get-data.c:432
+#: src/language/data-io/get-data.c:485
msgid "Value of PERCENT must be between 1 and 100."
msgstr "PERCENT (procentų) reikšmė turi būti iš intervalo tarp 1 ir 100."
-#: src/language/data-io/get-data.c:483
+#: src/language/data-io/get-data.c:536
msgid "In compatible syntax mode, the QUALIFIER string must contain exactly one character."
msgstr ""
-#: src/language/data-io/get-data.c:518
-#: src/language/data-io/placement-parser.c:377
+#: src/language/data-io/get-data.c:571
+#: src/language/data-io/placement-parser.c:406
#, c-format
msgid "The record number specified, %ld, is at or before the previous record, %d. Data fields must be listed in order of increasing record number."
msgstr ""
-#: src/language/data-io/get-data.c:527
+#: src/language/data-io/get-data.c:580
#, c-format
msgid "The record number specified, %ld, exceeds the number of records per case specified on FIXCASE, %d."
msgstr ""
-#: src/language/data-io/inpt-pgm.c:118
+#: src/language/data-io/inpt-pgm.c:120
msgid "Unexpected end-of-file within INPUT PROGRAM."
msgstr ""
-#: src/language/data-io/inpt-pgm.c:131
+#: src/language/data-io/inpt-pgm.c:133
msgid "Input program did not create any variables."
msgstr "Įvedimo programa nesukūrė jokių kintamųjų."
-#: src/language/data-io/inpt-pgm.c:330
+#: src/language/data-io/inpt-pgm.c:345
msgid "REREAD: Column numbers must be positive finite numbers. Column set to 1."
msgstr "REREAD: stulpelių numeriai turi būti teigiami baigtiniai skaičiai. Stulpelis nustatomas į 1."
-#: src/language/data-io/placement-parser.c:86
+#: src/language/data-io/placement-parser.c:96
#, c-format
msgid "Number of variables specified (%zu) differs from number of variable formats (%zu)."
msgstr ""
-#: src/language/data-io/placement-parser.c:96
+#: src/language/data-io/placement-parser.c:106
msgid "SPSS-like or Fortran-like format specification expected after variable names."
msgstr "Po kintamųjų vardų tikėtasi SPSS ar Fortran tipo formato specifikacijos."
-#: src/language/data-io/placement-parser.c:118
+#: src/language/data-io/placement-parser.c:129
#, c-format
msgid "The %d columns %d-%d can't be evenly divided into %zu fields."
msgstr ""
-#: src/language/data-io/placement-parser.c:302
+#: src/language/data-io/placement-parser.c:310
msgid "Column positions for fields must be positive."
-msgstr ""
+msgstr "Stulpelių padėtis turi būti teigiama."
-#: src/language/data-io/placement-parser.c:304
+#: src/language/data-io/placement-parser.c:312
msgid "Column positions for fields must not be negative."
-msgstr ""
+msgstr "Stulpelių padėtis negali būti neigiama."
-#: src/language/data-io/placement-parser.c:343
+#: src/language/data-io/placement-parser.c:372
msgid "The ending column for a field must be greater than the starting column."
msgstr ""
-#: src/language/data-io/print-space.c:115
+#: src/language/data-io/print-space.c:127
msgid "The expression on PRINT SPACE evaluated to the system-missing value."
msgstr ""
-#: src/language/data-io/print-space.c:118
+#: src/language/data-io/print-space.c:130
#, c-format
msgid "The expression on PRINT SPACE evaluated to %g."
msgstr ""
-#: src/language/data-io/print.c:179 src/language/data-io/trim.c:54
+#: src/language/data-io/print.c:193 src/language/data-io/trim.c:54
msgid "expecting a valid subcommand"
msgstr "tikimasi tinkamo pokomandžio"
-#: src/language/data-io/print.c:267
+#: src/language/data-io/print.c:223
+msgid "OUTFILE is required when binary formats are specified."
+msgstr "Pasirinkus naudoti dvejetainį formatą, reikia nurodyti OUTFILE (išvedimo rinkmeną)."
+
+#: src/language/data-io/print.c:306
#, c-format
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:479
#, c-format
msgid "Writing %zu record to %s."
msgid_plural "Writing %zu records to %s."
msgstr[2] "%zu įrašai įrašomi į %s."
msgstr[3] "%zu įrašų įrašoma į %s."
-#: src/language/data-io/print.c:440
+#: src/language/data-io/print.c:483
#, c-format
msgid "Writing %zu record."
msgid_plural "Writing %zu records."
msgstr[2] "Įrašomi %zu įrašai."
msgstr[3] "Įrašoma %zu įrašų."
-#: src/language/data-io/save-translate.c:165
-#: src/language/data-io/save-translate.c:180
+#: src/language/data-io/save-translate.c:167
+#: src/language/data-io/save-translate.c:182
#, c-format
msgid "The %s string must contain exactly one character."
msgstr "%s teksto eilutė privalo turėti būtent vieną simbolį."
-#: src/language/data-io/save-translate.c:250
+#: src/language/data-io/save-translate.c:252
#, c-format
msgid "Output file `%s' exists but REPLACE was not specified."
msgstr "Išvedimo rinkmena „%s“ jau yra, bet nenurodyta ją pakeisti (REPLACE)."
msgid "Cannot DROP all variables from dictionary."
msgstr "Negalima iš žodyno išmesti (DROP) visų kintamųjų."
-#: src/language/expressions/evaluate.c:152
+#: src/language/expressions/evaluate.c:151
msgid "expecting number or string"
msgstr "tikėtasi skaičiaus arba teksto eilutės"
-#: src/language/expressions/evaluate.c:166
-#, c-format
-msgid "Duplicate variable name %s."
-msgstr "Kintamojo vardas %s kartojasi."
-
#: src/language/expressions/helpers.c:41
msgid "One of the arguments to a DATE function is not an integer. The result will be system-missing."
msgstr ""
msgid "The year argument to YRMODA is greater than 47516. The result will be system-missing."
msgstr ""
-#. TRANSLATORS: Don't translate the the actual unit names `weeks', `days' etc
-#. They must remain in their original English.
-#: src/language/expressions/helpers.c:180
+#: src/language/expressions/helpers.c:178
#, c-format
-msgid "Unrecognized date unit `%.*s'. Valid date units are `years', `quarters', `months', `weeks', `days', `hours', `minutes', and `seconds'."
+msgid "Unrecognized date unit `%.*s'. Valid date units are `%s', `%s', `%s', `%s', `%s', `%s', `%s', and `%s'."
msgstr ""
-#: src/language/expressions/helpers.c:330
-msgid "Invalid DATESUM method. Valid choices are `closest' and `rollover'."
-msgstr "Netinkamas DATESUM metodas. Tinkami metodai yra „closest“ ir „rollover“."
+#: src/language/expressions/helpers.c:331
+#, c-format
+msgid "Invalid DATESUM method. Valid choices are `%s' and `%s'."
+msgstr "Netinkamas DATESUM metodas. Tinkami metodai yra „%s“ ir „%s“."
-#: src/language/expressions/parse.c:260
+#: src/language/expressions/parse.c:261
#, c-format
msgid "Type mismatch: expression has %s type, but a numeric value is required here."
msgstr "Neatitinka tipai: išraiška yra %s tipo, bet reikia skaitmeninio kintamojo."
-#: src/language/expressions/parse.c:272
+#: src/language/expressions/parse.c:274
#, c-format
msgid "Type mismatch: expression has %s type, but a string value is required here."
msgstr "Neatitinka tipai: išraiška yra %s tipo, bet reikia teksto eilutės kintamojo."
-#: src/language/expressions/parse.c:434
+#: src/language/expressions/parse.c:436
#, c-format
msgid "Type mismatch while applying %s operator: cannot convert %s to %s."
msgstr "Neatitinka tipai pritaikant %s operatorių: negalima konvertuoti iš %s į %s."
-#: src/language/expressions/parse.c:648
+#: src/language/expressions/parse.c:650
msgid "Chaining relational operators (e.g. `a < b < c') will not produce the mathematically expected result. Use the AND logical operator to fix the problem (e.g. `a < b AND b < c'). If chaining is really intended, parentheses will disable this warning (e.g. `(a < b) < c'.)"
msgstr ""
-#: src/language/expressions/parse.c:750
+#: src/language/expressions/parse.c:752
msgid "The exponentiation operator (`**') is left-associative, even though right-associative semantics are more useful. That is, `a**b**c' equals `(a**b)**c', not as `a**(b**c)'. To disable this warning, insert parentheses."
msgstr ""
-#: src/language/expressions/parse.c:830
+#: src/language/expressions/parse.c:832
#, c-format
msgid "Unknown system variable %s."
msgstr "Nežinomas sisteminis kintamasis %s."
-#: src/language/expressions/parse.c:878
+#: src/language/expressions/parse.c:880
#, c-format
msgid "Unknown identifier %s."
msgstr "Nežinomas identifikatorius %s."
-#: src/language/expressions/parse.c:1100
+#: src/language/expressions/parse.c:1102
#, c-format
msgid "%s must have at least %d arguments in list."
msgstr "%s privalo turėti bent %d argumentų."
-#: src/language/expressions/parse.c:1109
+#: src/language/expressions/parse.c:1111
#, c-format
msgid "%s must have an even number of arguments in list."
msgstr "%s privalo turėti lyginį argumentų skaičių."
-#: src/language/expressions/parse.c:1112
+#: src/language/expressions/parse.c:1114
#, c-format
msgid "%s must have multiple of %d arguments in list."
msgstr "%s privalo turėti keletą %d argumentų."
-#: src/language/expressions/parse.c:1122
+#: src/language/expressions/parse.c:1124
#, c-format
msgid "%s function does not accept a minimum valid argument count."
msgstr ""
-#: src/language/expressions/parse.c:1131
+#: src/language/expressions/parse.c:1133
#, c-format
msgid "%s requires at least %d valid arguments in list."
msgstr "%s reikalauja, kad sąraše būtų bent %d galiojančių argumentų."
-#: src/language/expressions/parse.c:1137
+#: src/language/expressions/parse.c:1139
#, c-format
msgid "With %s, using minimum valid argument count of %d does not make sense when passing only %d arguments in list."
msgstr ""
-#: src/language/expressions/parse.c:1191
+#: src/language/expressions/parse.c:1193
#, c-format
msgid "Type mismatch invoking %s as "
msgstr ""
-#: src/language/expressions/parse.c:1196
+#: src/language/expressions/parse.c:1198
msgid "Function invocation "
msgstr "Kviečiama funkcija "
-#: src/language/expressions/parse.c:1198
+#: src/language/expressions/parse.c:1200
msgid " does not match any known function. Candidates are:"
msgstr " neatitinka jokios žinomos funkcijos. Pasiūlymai:"
-#: src/language/expressions/parse.c:1228
+#: src/language/expressions/parse.c:1230
#, c-format
msgid "No function or vector named %s."
msgstr "Tokios „%s“ funkcijos arba vektoriaus nėra."
-#: src/language/expressions/parse.c:1290
+#: src/language/expressions/parse.c:1292
#, c-format
msgid "%s is a PSPP extension."
msgstr "%s yra PSPP plėtinys."
-#: src/language/expressions/parse.c:1299
+#: src/language/expressions/parse.c:1301
#, c-format
msgid "%s may not appear after TEMPORARY."
msgstr "%s gali nebūti po TEMPORARY."
-#: src/libpspp/ext-array.c:57
+#: src/libpspp/ext-array.c:66
msgid "failed to create temporary file"
msgstr "nepavyko sukurti laikinos rinkmenos"
-#: src/libpspp/ext-array.c:97
+#: src/libpspp/ext-array.c:106
msgid "seeking in temporary file"
msgstr "ieškoma laikinojoje rinkmenoje"
-#: src/libpspp/ext-array.c:116
+#: src/libpspp/ext-array.c:125
msgid "reading temporary file"
msgstr "skaitoma laikinoji rinkmena"
-#: src/libpspp/ext-array.c:118
+#: src/libpspp/ext-array.c:127
msgid "unexpected end of file reading temporary file"
msgstr "netikėta skaitomos laikinosios rinkmenos pabaiga"
-#: src/libpspp/ext-array.c:137
+#: src/libpspp/ext-array.c:147
msgid "writing to temporary file"
msgstr "rašoma į laikinąją rinkmeną"
msgid "Error inflating: %s"
msgstr ""
-#: src/libpspp/message.c:85
-msgid "error"
-msgstr "klaida"
+#: src/libpspp/i18n.c:935
+msgid "Arabic"
+msgstr "Arabų"
-#: src/libpspp/message.c:87
-msgid "warning"
-msgstr "įspėjimas"
+#: src/libpspp/i18n.c:937
+msgid "Armenian"
+msgstr "Armėnų"
-#: src/libpspp/message.c:90
-msgid "note"
-msgstr "pastaba"
+#: src/libpspp/i18n.c:938
+msgid "Baltic"
+msgstr "Baltų"
-#: src/libpspp/message.c:280
-#, c-format
-msgid "Notes (%d) exceed limit (%d). Suppressing further notes."
-msgstr "Pastabų kiekis (%d) pasiekė ribą (%d). Daugiau pastabų nebus."
+#: src/libpspp/i18n.c:940
+msgid "Celtic"
+msgstr "Keltų"
-#: src/libpspp/message.c:288
-#, c-format
-msgid "Warnings (%d) exceed limit (%d). Syntax processing will be halted."
-msgstr "Įspėjimų kiekis (%d) pasiekė ribą (%d). Sintaksės apdorojimas nutraukiamas."
+#: src/libpspp/i18n.c:941
+msgid "Central European"
+msgstr "Centrinės Europos"
-#: src/libpspp/message.c:291
-#, c-format
-msgid "Errors (%d) exceed limit (%d). Syntax processing will be halted."
-msgstr "Klaidų kiekis (%d) pasiekė ribą (%d). Sintaksės apdorojimas nutraukiamas."
+#: src/libpspp/i18n.c:943
+msgid "Chinese Simplified"
+msgstr "Supaprastinta kinų"
-#: src/libpspp/zip-reader.c:87
-#, c-format
-msgid "Unsupported compression type (%d)"
-msgstr "Nepalaikomas glaudinimo tipas (%d)"
+#: src/libpspp/i18n.c:945
+msgid "Chinese Traditional"
+msgstr "Tradicinė kinų"
-#: src/libpspp/zip-reader.c:181
-#, c-format
-msgid "Corrupt file at 0x%llx: Expected %<PRIx32>; got %<PRIx32>"
-msgstr "Rinkmena sugadinta ties 0x%llx: tikėtasi %<PRIx32>; yra %<PRIx32>"
+#: src/libpspp/i18n.c:947
+msgid "Croatian"
+msgstr "Kroatų"
-#: src/libpspp/zip-reader.c:312
-msgid "Cannot find central directory"
-msgstr "Nepavyksta rasti centrinio katalogo"
+#: src/libpspp/i18n.c:948
+msgid "Cyrillic"
+msgstr "Kirilica"
+
+#: src/libpspp/i18n.c:950
+msgid "Cyrillic/Russian"
+msgstr "Kirilica / rusų"
+
+#: src/libpspp/i18n.c:951
+msgid "Cyrillic/Ukrainian"
+msgstr "Kirilica / ukrainiečių"
+
+#: src/libpspp/i18n.c:953
+msgid "Georgian"
+msgstr "Gruzinų"
+
+#: src/libpspp/i18n.c:954
+msgid "Greek"
+msgstr "Graikų"
+
+#: src/libpspp/i18n.c:955
+msgid "Gujarati"
+msgstr "Gudžarati"
+
+#: src/libpspp/i18n.c:956
+msgid "Gurmukhi"
+msgstr "Gurmukhi"
+
+#: src/libpspp/i18n.c:957
+msgid "Hebrew"
+msgstr "Hebrajų"
+
+#: src/libpspp/i18n.c:959
+msgid "Hebrew Visual"
+msgstr "Hebrajų regimoji"
+
+#: src/libpspp/i18n.c:960
+msgid "Hindi"
+msgstr "Hindi"
+
+#: src/libpspp/i18n.c:961
+msgid "Icelandic"
+msgstr "Islandų"
+
+#: src/libpspp/i18n.c:962
+msgid "Japanese"
+msgstr "Japonų"
+
+#: src/libpspp/i18n.c:964
+msgid "Korean"
+msgstr "Korėjiečių"
+
+#: src/libpspp/i18n.c:966
+msgid "Nordic"
+msgstr "Šiaurės"
+
+#: src/libpspp/i18n.c:967
+msgid "Romanian"
+msgstr "Rumunų"
+
+#: src/libpspp/i18n.c:969
+msgid "South European"
+msgstr "Pietų Europos"
+
+#: src/libpspp/i18n.c:970
+msgid "Thai"
+msgstr "Tajų"
+
+#: src/libpspp/i18n.c:972
+msgid "Turkish"
+msgstr "Turkų"
-#: src/libpspp/zip-reader.c:321
+#: src/libpspp/i18n.c:974
+msgid "Vietnamese"
+msgstr "Vietnamiečių"
+
+#: src/libpspp/i18n.c:976
+msgid "Western European"
+msgstr "Vakarų Europos"
+
+#: src/libpspp/message.c:85
+msgid "error"
+msgstr "klaida"
+
+#: src/libpspp/message.c:87
+msgid "warning"
+msgstr "įspėjimas"
+
+#: src/libpspp/message.c:90
+msgid "note"
+msgstr "pastaba"
+
+#: src/libpspp/message.c:280
+#, c-format
+msgid "Notes (%d) exceed limit (%d). Suppressing further notes."
+msgstr "Pastabų kiekis (%d) pasiekė ribą (%d). Daugiau pastabų nebus."
+
+#: src/libpspp/message.c:288
+#, c-format
+msgid "Warnings (%d) exceed limit (%d). Syntax processing will be halted."
+msgstr "Įspėjimų kiekis (%d) pasiekė ribą (%d). Sintaksės apdorojimas nutraukiamas."
+
+#: src/libpspp/message.c:291
+#, c-format
+msgid "Errors (%d) exceed limit (%d). Syntax processing will be halted."
+msgstr "Klaidų kiekis (%d) pasiekė ribą (%d). Sintaksės apdorojimas nutraukiamas."
+
+#: src/libpspp/zip-reader.c:88
+#, c-format
+msgid "Unsupported compression type (%d)"
+msgstr "Nepalaikomas glaudinimo tipas (%d)"
+
+#: src/libpspp/zip-reader.c:201
+#, c-format
+msgid "Corrupt file at 0x%llx: Expected %<PRIx32>; got %<PRIx32>"
+msgstr "Rinkmena sugadinta ties 0x%llx: tikėtasi %<PRIx32>; yra %<PRIx32>"
+
+#: src/libpspp/zip-reader.c:325
+msgid "Cannot find central directory"
+msgstr "Nepavyksta rasti centrinio katalogo"
+
+#: src/libpspp/zip-reader.c:334
#, c-format
msgid "Failed to seek to end of central directory record: %s"
msgstr "Nepavyko rasti centrinio katalogo įrašo pabaigos: %s"
-#: src/libpspp/zip-reader.c:347
+#: src/libpspp/zip-reader.c:360
#, c-format
msgid "Failed to seek to central directory: %s"
msgstr "Nepavyko rasti centrinio katalogo: %s"
-#: src/libpspp/zip-reader.c:399
+#: src/libpspp/zip-reader.c:415
#, c-format
msgid "Failed to seek to start of member `%s': %s"
msgstr "Nepavyko rasti „%s“ nario pradžios: %s"
-#: src/libpspp/zip-reader.c:430
+#: src/libpspp/zip-reader.c:446
#, c-format
msgid "Name mismatch in zip archive. Central directory says `%s'; local file header says `%s'"
msgstr "Zip archyve neatitinka vardai. Centrinis katalogas nurodo „%s“; vietinės rinkmenos antraštė nurodo „%s“"
-#: src/libpspp/zip-writer.c:92
+#: src/libpspp/zip-writer.c:93
#, c-format
msgid "%s: error opening output file"
msgstr "%s: klaida bandant atverti išvesties rinkmeną"
-#: src/libpspp/zip-writer.c:225
+#: src/libpspp/zip-writer.c:226
#, c-format
msgid "%s: write failed"
msgstr "%s: nepavyko rašyti"
+#: src/math/histogram.c:224
+msgid "Not creating histogram because the data contains less than 2 distinct values"
+msgstr "Histograma nebraižoma, nes duomenyse mažiau nei 2 skirtingos reikšmės"
+
#: src/math/percentiles.c:36
msgid "HAverage"
msgstr ""
msgid "Empirical with averaging"
msgstr ""
-#: src/output/ascii.c:298
+#: src/output/ascii.c:306
#, c-format
msgid "%s: %s must be positive integer or `auto'"
msgstr "%s: %s turi būti teigiamas sveikasis skaičius arba „auto“"
-#: src/output/ascii.c:331
+#: src/output/ascii.c:339
#, c-format
msgid "ascii: page excluding margins and headers must be at least %d characters wide by %d lines long, but as configured is only %d characters by %d lines"
msgstr ""
-#: src/output/ascii.c:377
+#: src/output/ascii.c:387
#, c-format
msgid "ascii: closing output file `%s'"
msgstr "ascii: užveriama rezultatų rinkmena „%s“"
-#: src/output/ascii.c:520
+#: src/output/ascii.c:530
#, c-format
msgid "See %s for a chart."
msgstr "Diagrama: %s."
-#: src/output/ascii.c:1102
+#: src/output/ascii.c:1001
#, c-format
msgid "ascii: opening output file `%s'"
msgstr "ascii: atveriama rezultatų rinkmena „%s“"
-#: src/output/ascii.c:1173
+#: src/output/ascii.c:1058
#, c-format
msgid "%s - Page %d"
msgstr "%s - %d puslapis"
msgid "error opening output file `%s'"
msgstr "klaida bandant atverti išvesties rinkmeną „%s“"
-#. TRANSLATORS: Don't translate the words `terminal' or `listing'.
-#: src/output/driver.c:319
+#: src/output/driver.c:325
#, c-format
-msgid "%s is not a valid device type (the choices are `terminal' and `listing')"
-msgstr "%s nėra tinkamas įrenginio tipas (tinka „terminal“ ir „listing“)"
+msgid "%s is not a valid device type (the choices are `%s' and `%s')"
+msgstr "%s nėra tinkamas įrenginio tipas (tinka „%s“ ir „%s“)"
-#: src/output/driver.c:332
+#: src/output/driver.c:337
#, c-format
msgid "%s: unknown option `%s'"
msgstr "%s: nežinoma parinktis „%s“"
msgid "error writing output file `%s'"
msgstr "klaida bandant rašyti į rezultatų rinkmeną „%s“"
-#: src/output/measure.c:65
+#: src/output/measure.c:67
#, c-format
msgid "`%s' is not a valid length."
msgstr "„%s“ nėra tinkamas ilgis."
-#: src/output/measure.c:93
+#: src/output/measure.c:95
#, c-format
msgid "syntax error in paper size `%s'"
msgstr "sintaksės klaida ties popieriaus matmenimis „%s“"
-#: src/output/measure.c:230
+#: src/output/measure.c:232
#, c-format
msgid "unknown paper type `%.*s'"
msgstr "nežinomas popieriaus tipas „%.*s“"
-#: src/output/measure.c:248
+#: src/output/measure.c:250
#, c-format
msgid "error opening input file `%s'"
msgstr "klaida bandant atverti įvesties rinkmeną „%s“"
-#: src/output/measure.c:259
+#: src/output/measure.c:261
#, c-format
msgid "error reading file `%s'"
msgstr "klaida bandant nuskaityti rinkmeną „%s“"
-#: src/output/measure.c:276
+#: src/output/measure.c:278
#, c-format
msgid "paper size file `%s' does not state a paper size"
msgstr "popieriaus dydžio rinkmena „%s“ neatitinka popieriaus dydžio"
#: src/output/tab.c:289
#, c-format
msgid "bad box: (%d+%d=%d,%d+%d=%d)-(%d+%d=%d,%d+%d=%d) in table size (%d,%d)\n"
-msgstr ""
+msgstr "netinkama lentelė (%d+%d=%d,%d+%d=%d)-(%d+%d=%d,%d+%d=%d), nes lentelės dydis (%d,%d)\n"
-#: src/output/cairo.c:225
+#: src/output/cairo.c:227
#, c-format
msgid "`%s': bad font specification"
msgstr "„%s“: netinkama šrifto specifikacija"
-#: src/output/cairo.c:400
+#: src/output/cairo.c:382
#, c-format
msgid "error opening output file `%s': %s"
msgstr "klaida bandant atverti rezultatų rinkmeną „%s“: %s"
-#: src/output/cairo.c:417
+#: src/output/cairo.c:399
#, c-format
msgid "The defined page is not wide enough to hold at least %d characters in the default font. In fact, there's only room for %d characters."
msgstr ""
-#: src/output/cairo.c:427
+#: src/output/cairo.c:409
#, c-format
msgid "The defined page is not long enough to hold at least %d lines in the default font. In fact, there's only room for %d lines."
msgstr ""
-#: src/output/cairo.c:478
+#: src/output/cairo.c:460
#, c-format
msgid "error drawing output for %s driver: %s"
-msgstr ""
+msgstr "klaida braižant su %s tvarkykle: %s"
-#: src/output/cairo.c:1130
+#: src/output/cairo.c:1120
#, c-format
msgid "error writing output file `%s': %s"
msgstr "klaida bandant rašyti į rezultatų rinkmeną „%s“: %s"
#: src/output/charts/np-plot-cairo.c:37
#, c-format
msgid "Normal Q-Q Plot of %s"
-msgstr ""
+msgstr "%s: kvantilių grafikas"
#: src/output/charts/np-plot-cairo.c:38 src/output/charts/np-plot-cairo.c:65
msgid "Observed Value"
-msgstr "Stebėta reikšmė"
+msgstr "Empirinė reikšmė"
#: src/output/charts/np-plot-cairo.c:39
msgid "Expected Normal"
-msgstr ""
+msgstr "Teorinis pagal normalųjį"
#: src/output/charts/np-plot-cairo.c:64
#, c-format
msgid "Detrended Normal Q-Q Plot of %s"
-msgstr ""
+msgstr "%s: kvantilių grafikas be trendo"
#: src/output/charts/np-plot-cairo.c:66
msgid "Dev from Normal"
-msgstr ""
+msgstr "Nuokrypis nuo normaliojo"
-#: src/output/charts/plot-hist-cairo.c:110
+#: src/output/charts/plot-hist-cairo.c:41
+#, c-format
+msgid "N = %.2f"
+msgstr "N = %.2f"
+
+#: src/output/charts/plot-hist-cairo.c:50
+#, c-format
+msgid "Mean = %.1f"
+msgstr "Vidurkis = %.1f"
+
+#: src/output/charts/plot-hist-cairo.c:59
+#, c-format
+msgid "Std. Dev = %.2f"
+msgstr "Std. nuokrypis = %.2f"
+
+#: src/output/charts/plot-hist-cairo.c:117
msgid "HISTOGRAM"
msgstr "HISTOGRAMA"
-#: src/output/charts/plot-hist-cairo.c:112
-#: src/language/stats/frequencies.q:822
-msgid "Frequency"
-msgstr "Dažnis"
-
#: src/output/charts/roc-chart-cairo.c:36 src/ui/gui/roc.ui:7
msgid "ROC Curve"
msgstr "Operatoriaus charakteringa kreivė"
msgid "Eigenvalue"
msgstr "Tikrinė reikšmė"
+#: src/output/charts/spreadlevel-cairo.c:37
+#, c-format
+msgid "Spread vs. Level Plot of %s"
+msgstr "%s: sklaidos ir lygio grafikas"
+
+#: src/output/charts/spreadlevel-cairo.c:38
+msgid "Level"
+msgstr "Lygis"
+
+#: src/output/charts/spreadlevel-cairo.c:39
+msgid "Spread"
+msgstr "Sklaida"
+
#: src/output/odt.c:94
msgid "error creating temporary file"
msgstr "klaida bandant sukurti laikinąją rinkmeną"
msgid "Syntax must be either `compatible' or `enhanced'."
msgstr "Sintaksė turi būti „compatible“ arba „enhanced“."
-#: src/ui/terminal/main.c:147
+#: src/ui/terminal/main.c:146
msgid "Error encountered while ERROR=STOP is effective."
msgstr "Klaida įvyko esant aktyviam ERROR=STOP."
-#: src/ui/terminal/main.c:153
+#: src/ui/terminal/main.c:152
msgid "Stopping syntax file processing here to avoid a cascade of dependent command failures."
msgstr "Sintaksės rinkmenos apdorojimas stabdomas tam, kad būtų išvengta klaidų susijusiose komandose."
msgid "could not access definition for terminal `%s'"
msgstr ""
-#: src/ui/gui/autorecode-dialog.c:292 src/ui/gui/recode-dialog.c:651
-#: src/ui/gui/recode-dialog.c:733
+#: src/ui/gui/psppire-button-editable.c:160
+msgid "TreeView path"
+msgstr "TreeView kelias"
+
+#: src/ui/gui/psppire-button-editable.c:161
+msgid "The path to the row in the GtkTreeView, as a string"
+msgstr "Kelias iki GtkTreeView eilutės, kelias tekstinės eilutės formatu"
+
+#: src/ui/gui/psppire-button-editable.c:168
+#: src/ui/gui/psppire-cell-renderer-button.c:519
+msgid "Diagonal slash"
+msgstr "Įstrižainės brūkšnys"
+
+#: src/ui/gui/psppire-button-editable.c:169
+#: src/ui/gui/psppire-cell-renderer-button.c:520
+msgid "Whether to draw a diagonal slash across the button."
+msgstr "Ar mygtuke nubrėžti įstrižainę."
+
+#: src/ui/gui/autorecode-dialog.c:293 src/ui/gui/recode-dialog.c:662
+#: src/ui/gui/recode-dialog.c:747
msgid "New"
msgstr "Naujas"
-#: src/ui/gui/autorecode-dialog.c:306 src/ui/gui/recode-dialog.c:666
-#: src/ui/gui/recode-dialog.c:725
+#: src/ui/gui/autorecode-dialog.c:307 src/ui/gui/recode-dialog.c:677
+#: src/ui/gui/recode-dialog.c:739
msgid "Old"
msgstr "Senas"
-#: src/ui/gui/aggregate-dialog.c:162
+#: src/ui/gui/aggregate-dialog.c:154
msgid "Aggregate destination file"
msgstr "Agregavimo paskirties rinkmena"
-#: src/ui/gui/aggregate-dialog.c:174 src/ui/gui/psppire-data-window.c:504
-#: src/ui/gui/psppire-window.c:754
+#: src/ui/gui/aggregate-dialog.c:166 src/ui/gui/psppire-data-window.c:498
+#: src/ui/gui/psppire-window.c:733
msgid "System Files (*.sav)"
msgstr "Sisteminės rinkmenos (*.sav)"
-#: src/ui/gui/aggregate-dialog.c:179 src/ui/gui/psppire-data-window.c:509
-#: src/ui/gui/psppire-window.c:759
+#: src/ui/gui/aggregate-dialog.c:171 src/ui/gui/psppire-data-window.c:503
+#: src/ui/gui/psppire-window.c:738
msgid "Portable Files (*.por) "
msgstr "Perkeliamos (Portable) rinkmenos (*.por)"
-#: src/ui/gui/checkbox-treeview.c:92 src/language/stats/crosstabs.q:1232
-#: src/language/stats/crosstabs.q:1259 src/language/stats/crosstabs.q:1282
-#: src/language/stats/crosstabs.q:1306 src/language/stats/examine.q:1637
-msgid "Statistic"
-msgstr "Statistika"
-
#: src/ui/gui/comments-dialog.c:58
#, c-format
msgid "Column Number: %d"
msgstr "Stulpelio numeris: %d"
-#: src/ui/gui/crosstabs-dialog.c:41
-msgid "Chisq"
-msgstr "Chi-kvadr."
-
-#: src/ui/gui/crosstabs-dialog.c:42 src/language/stats/crosstabs.q:1805
-msgid "Phi"
-msgstr "Phi"
-
-#: src/ui/gui/crosstabs-dialog.c:43
-msgid "CC"
-msgstr "Konting.k."
-
-#: src/ui/gui/crosstabs-dialog.c:45
-msgid "UC"
-msgstr "Neapibr.k."
-
-#: src/ui/gui/crosstabs-dialog.c:46
-msgid "BTau"
-msgstr "BTau"
-
-#: src/ui/gui/crosstabs-dialog.c:47
-msgid "CTau"
-msgstr "CTau"
-
-#: src/ui/gui/crosstabs-dialog.c:48
-msgid "Risk"
-msgstr "Rizikos laipsnis"
-
-#: src/ui/gui/crosstabs-dialog.c:49 src/language/stats/crosstabs.q:1810
-msgid "Gamma"
-msgstr "Gamma"
-
-#: src/ui/gui/crosstabs-dialog.c:50
-msgid "D"
-msgstr "D"
-
-#: src/ui/gui/crosstabs-dialog.c:51 src/language/stats/crosstabs.q:1813
-msgid "Kappa"
-msgstr "Kappa"
-
-#: src/ui/gui/crosstabs-dialog.c:52 src/language/stats/crosstabs.q:1947
-msgid "Eta"
-msgstr "Eta"
-
-#: src/ui/gui/crosstabs-dialog.c:53
-msgid "Corr"
-msgstr "Korel."
-
-#: src/ui/gui/crosstabs-dialog.c:54 src/ui/gui/crosstabs-dialog.c:65
-#: src/ui/gui/crosstabs-dialog.c:100 src/ui/gui/crosstabs-dialog.c:108
-#: src/ui/gui/psppire-dialog-action-var-info.c:47
-#: src/ui/gui/psppire-var-store.c:612 src/ui/gui/var-display.c:16
-msgid "None"
-msgstr "Nieko"
-
-#: src/ui/gui/crosstabs-dialog.c:57
-msgid "Count"
-msgstr "Kiekis"
-
-#: src/ui/gui/crosstabs-dialog.c:58
-msgid "Row"
-msgstr "Eilutė"
-
-#: src/ui/gui/crosstabs-dialog.c:59
-msgid "Column"
-msgstr "Stulpelis"
-
-#: src/ui/gui/crosstabs-dialog.c:61
-msgid "Expected"
-msgstr "Spėjama"
-
-#: src/ui/gui/crosstabs-dialog.c:63
-msgid "Std. Residual"
-msgstr "Normuota liekana"
-
-#: src/ui/gui/crosstabs-dialog.c:64
-msgid "Adjusted Std. Residual"
-msgstr "Patikslinta normuota liekana"
-
-#: src/ui/gui/find-dialog.c:645
+#: src/ui/gui/find-dialog.c:650
#, c-format
msgid "Bad regular expression: %s"
msgstr "Netinkama reguliarioji išraiška: %s"
-#: src/ui/gui/factor-dialog.c:348
-#, c-format
-msgid "_Eigenvalues over %4.2f times the mean eigenvalue"
-msgstr "_Pagal tikrines reikšmes viršija %4.2f"
-
-#: src/ui/gui/frequencies-dialog.c:45
-msgid "Standard error of the mean"
-msgstr "Standartinė vidurkio paklaida"
-
-#: src/ui/gui/frequencies-dialog.c:48
-msgid "Standard error of the skewness"
-msgstr "Standartinė asimetrijos paklaida"
-
-#: src/ui/gui/frequencies-dialog.c:50 src/language/stats/frequencies.q:108
-msgid "Mode"
-msgstr "Veiksena"
-
-#: src/ui/gui/frequencies-dialog.c:52
-msgid "Standard error of the kurtosis"
-msgstr "Standartinė eksceso paklaida"
-
#: src/ui/gui/help-menu.c:66
msgid "A program for the analysis of sampled data"
msgstr "Programa imties duomenų analizavimui"
-#. TRANSLATORS: Use this string to list the people who have helped with
-#. translation to your language.
+#. TRANSLATORS: Do not translate this string. Instead, put the names of the people
+#. who have helped in the translation.
#: src/ui/gui/help-menu.c:76
msgid "translator-credits"
msgstr "Mindaugas Baranauskas"
msgid "_Reference Manual"
msgstr "Ž_inynas"
-#: src/ui/gui/main.c:83
-#, fuzzy, c-format
+#: src/ui/gui/main.c:90
+#, c-format
msgid ""
"PSPPIRE, a GUI for PSPP, a program for statistical analysis of sample data.\n"
"Usage: %s [OPTION]... FILE\n"
" -h, --help display this help and exit\n"
" -V, --version output version information and exit\n"
"\n"
-"A non-option argument is interpreted as a .sav or .por file to load.\n"
+"A non-option argument is interpreted as a .sav file, a .por file or a syntax\n"
+"file to load.\n"
msgstr ""
"PSPPIRE, PSPP grafinė sąsaja, programa imties duomenų statistinei analizei.\n"
"Naudojimas: %s [PARINKTIS]... RINKMENA...\n"
" -h, --help parodyti šį pagalbos pranešimą ir išeiti\n"
" -V, --version parodyti versijos informaciją ir išeiti\n"
"\n"
-"Argumentai, kurie nėra parinktys, interpretuojami kaip vykdytinos .sav ar .por rinkmenos.\n"
+"Argumentai, kurie nėra parinktys, interpretuojami kaip vykdytinos .sav ar .por rinkmenos arba sintaksės rinkmenos.\n"
-#: src/ui/gui/missing-val-dialog.c:114 src/ui/gui/missing-val-dialog.c:167
+#: src/ui/gui/missing-val-dialog.c:252 src/ui/gui/missing-val-dialog.c:302
msgid "Incorrect value for variable type"
msgstr "Reikšmė netinka kintamojo tipui"
-#: src/ui/gui/missing-val-dialog.c:135 src/ui/gui/missing-val-dialog.c:144
+#: src/ui/gui/missing-val-dialog.c:277
msgid "Incorrect range specification"
msgstr "Klaidinga srities specifikacija"
-#: src/ui/gui/oneway-anova-dialog.c:300
+#: src/ui/gui/oneway-anova-dialog.c:301
#, c-format
msgid "Contrast %d of %d"
msgstr "%d kontrastas iš %d"
-#: src/ui/gui/psppire.c:227
+#: src/ui/gui/psppire.c:242
msgid "_Reset"
msgstr "At_statyti"
-#: src/ui/gui/psppire.c:228
+#: src/ui/gui/psppire.c:243
msgid "_Select"
msgstr "_Pasirinkti"
-#: src/ui/gui/psppire-data-editor.c:977
+#: src/ui/gui/psppire-data-editor.c:978
msgid "Data View"
msgstr "Duomenų rodinys"
-#: src/ui/gui/psppire-data-editor.c:980
+#: src/ui/gui/psppire-data-editor.c:981
msgid "Variable View"
msgstr "Kintamųjų rodinys"
msgid "var"
msgstr "kint"
-#: src/ui/gui/psppire-data-window.c:204
+#: src/ui/gui/psppire-data-window.c:198
msgid "Transformations Pending"
msgstr "Laukiama transformacijos"
-#: src/ui/gui/psppire-data-window.c:220
+#: src/ui/gui/psppire-data-window.c:214
msgid "Filter off"
msgstr "Nefiltr."
-#: src/ui/gui/psppire-data-window.c:234
+#: src/ui/gui/psppire-data-window.c:228
#, c-format
msgid "Filter by %s"
msgstr "Filtr. pg. %s"
-#: src/ui/gui/psppire-data-window.c:255
+#: src/ui/gui/psppire-data-window.c:249
msgid "No Split"
msgstr "Neskaidoma"
-#: src/ui/gui/psppire-data-window.c:264
+#: src/ui/gui/psppire-data-window.c:258
msgid "Split by "
msgstr "Skaid. pg. "
-#: src/ui/gui/psppire-data-window.c:292
+#: src/ui/gui/psppire-data-window.c:286
msgid "Weights off"
msgstr "Nesveriama"
-#: src/ui/gui/psppire-data-window.c:306
+#: src/ui/gui/psppire-data-window.c:300
#, c-format
msgid "Weight by %s"
msgstr "Sverti pagal %s"
-#: src/ui/gui/psppire-data-window.c:495 src/ui/gui/aggregate.ui:450
+#: src/ui/gui/psppire-data-window.c:489 src/ui/gui/aggregate.ui:450
msgid "Save"
msgstr "Įrašyti"
-#: src/ui/gui/psppire-data-window.c:514 src/ui/gui/psppire-syntax-window.c:608
-#: src/ui/gui/psppire-window.c:770
+#: src/ui/gui/psppire-data-window.c:508 src/ui/gui/psppire-syntax-window.c:605
+#: src/ui/gui/psppire-window.c:749 src/ui/gui/page-file.c:238
msgid "All Files"
msgstr "Visos rinkmenos"
-#: src/ui/gui/psppire-data-window.c:527
+#: src/ui/gui/psppire-data-window.c:521
msgid "Portable File"
msgstr "Perkeliama rinkmena"
-#: src/ui/gui/psppire-data-window.c:584
+#: src/ui/gui/psppire-data-window.c:578
msgid "Delete Existing Dataset?"
msgstr "Pašalinti esamą duomenų rinkinį?"
-#: src/ui/gui/psppire-data-window.c:588
-#, fuzzy, c-format
-msgid "Renaming \"%s\" to \"%s\" will delete destroy the existing dataset named \"%s\". Are you sure that you want to do this?"
+#: src/ui/gui/psppire-data-window.c:582
+#, c-format
+msgid "Renaming \"%s\" to \"%s\" will destroy the existing dataset named \"%s\". Are you sure that you want to do this?"
msgstr "„%s“ pervadinant į „%s“, bus pašalintas esamas duomenų rinkinys vardu „%s“. Tikrai tęsti?"
-#: src/ui/gui/psppire-data-window.c:616
+#: src/ui/gui/psppire-data-window.c:610
#, c-format
msgid "Please enter a new name for dataset \"%s\":"
msgstr "Įveskite naują duomenų rinkinio „%s“ vardą:"
-#: src/ui/gui/psppire-data-window.c:618
+#: src/ui/gui/psppire-data-window.c:612
msgid "Rename Dataset"
msgstr "Duomenų rinkinio pervadinimas"
-#: src/ui/gui/psppire-data-window.c:697
+#: src/ui/gui/psppire-data-window.c:691
msgid "Font Selection"
msgstr "Šrifto pasirinkimas"
-#. TRANSLATORS: This will form a filename. Please avoid whitespace.
#: src/ui/gui/psppire-data-window.c:1338
msgid "Data Editor"
msgstr "duomenų redaktorius"
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:71
+msgid "Chisq"
+msgstr "Chi-kvadr."
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:72
+#: src/language/stats/crosstabs.q:1834
+msgid "Phi"
+msgstr "Phi"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:73
+msgid "CC"
+msgstr "Konting.k."
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:75
+msgid "UC"
+msgstr "Neapibr.k."
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:76
+msgid "BTau"
+msgstr "BTau"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:77
+msgid "CTau"
+msgstr "CTau"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:78
+msgid "Risk"
+msgstr "Rizikos laipsnis"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:79
+#: src/language/stats/crosstabs.q:1839
+msgid "Gamma"
+msgstr "Gamma"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:80
+msgid "D"
+msgstr "D"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:81
+#: src/language/stats/crosstabs.q:1842
+msgid "Kappa"
+msgstr "Kappa"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:82
+#: src/language/stats/crosstabs.q:1976
+msgid "Eta"
+msgstr "Eta"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:83
+msgid "Corr"
+msgstr "Korel."
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:84
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:96
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:131
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:139
+#: src/ui/gui/psppire-dialog-action-var-info.c:47
+#: src/ui/gui/psppire-var-store.c:613 src/ui/gui/var-display.c:16
+msgid "None"
+msgstr "Nieko"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:88
+msgid "Count"
+msgstr "Kiekis"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:89
+msgid "Row"
+msgstr "Eilutė"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:90
+msgid "Column"
+msgstr "Stulpelis"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:92
+msgid "Expected"
+msgstr "Spėjama"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:94
+msgid "Std. Residual"
+msgstr "Normuota liekana"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:95
+msgid "Adjusted Std. Residual"
+msgstr "Patikslinta normuota liekana"
+
#: src/ui/gui/psppire-dialog-action-descriptives.c:45
msgid "Standard error"
msgstr "Standartinė paklaida"
+#: src/ui/gui/psppire-dialog-action-factor.c:320
+#, c-format
+msgid "_Eigenvalues over %4.2f times the mean eigenvalue"
+msgstr "_Pagal tikrines reikšmes viršija %4.2f"
+
+#: src/ui/gui/psppire-dialog-action-frequencies.c:44
+msgid "Standard error of the mean"
+msgstr "Standartinė vidurkio paklaida"
+
+#: src/ui/gui/psppire-dialog-action-frequencies.c:47
+msgid "Standard error of the skewness"
+msgstr "Standartinė asimetrijos paklaida"
+
+#: src/ui/gui/psppire-dialog-action-frequencies.c:49
+#: src/language/stats/frequencies.q:110
+msgid "Mode"
+msgstr "Veiksena"
+
+#: src/ui/gui/psppire-dialog-action-frequencies.c:51
+msgid "Standard error of the kurtosis"
+msgstr "Standartinė eksceso paklaida"
+
+#: src/ui/gui/psppire-dialog-action-regression.c:40
+msgid "Coeff"
+msgstr "Koef."
+
+#: src/ui/gui/psppire-dialog-action-regression.c:42
+msgid "Anova"
+msgstr "Anova"
+
+#: src/ui/gui/psppire-dialog-action-regression.c:43
+msgid "Bcov"
+msgstr "Bcov"
+
#: src/ui/gui/psppire-dialog-action-var-info.c:113
#, c-format
msgid "Label: %s\n"
#. - The first character may not be a digit
#. - The final charactor may not be '.' or '_'
#.
-#: src/ui/gui/psppire-dict.c:367
+#: src/ui/gui/psppire-dict.c:371
#, c-format
-msgid "VAR%05d"
-msgstr "Kint%05d"
+msgid "Var%04d"
+msgstr "Kint%04d"
-#: src/ui/gui/psppire-dict.c:537
+#: src/ui/gui/psppire-dict.c:555
msgid "Duplicate variable name."
msgstr "Kintamojo vardas kartojasi."
-#: src/ui/gui/psppire-encoding-selector.c:153
+#: src/ui/gui/psppire-encoding-selector.c:141
msgid "Automatically Detect"
msgstr "Aptikti automatiškai"
-#: src/ui/gui/psppire-encoding-selector.c:154
+#: src/ui/gui/psppire-encoding-selector.c:148
msgid "Locale Encoding"
msgstr "Lokalės koduotė"
-#: src/ui/gui/psppire-encoding-selector.c:158
-msgid "Arabic"
-msgstr "Arabų"
-
-#: src/ui/gui/psppire-encoding-selector.c:160
-msgid "Armenian"
-msgstr "Armėnų"
-
-#: src/ui/gui/psppire-encoding-selector.c:161
-msgid "Baltic"
-msgstr "Baltų"
-
-#: src/ui/gui/psppire-encoding-selector.c:163
-msgid "Celtic"
-msgstr "Keltų"
-
-#: src/ui/gui/psppire-encoding-selector.c:164
-msgid "Central European"
-msgstr "Centrinės Europos"
-
-#: src/ui/gui/psppire-encoding-selector.c:166
-msgid "Chinese Simplified"
-msgstr "Supaprastinta kinų"
-
-#: src/ui/gui/psppire-encoding-selector.c:168
-msgid "Chinese Traditional"
-msgstr "Tradicinė kinų"
-
-#: src/ui/gui/psppire-encoding-selector.c:170
-msgid "Croatian"
-msgstr "Kroatų"
-
-#: src/ui/gui/psppire-encoding-selector.c:171
-msgid "Cyrillic"
-msgstr "Kirilica"
-
-#: src/ui/gui/psppire-encoding-selector.c:173
-msgid "Cyrillic/Russian"
-msgstr "Kirilica / rusų"
-
-#: src/ui/gui/psppire-encoding-selector.c:174
-msgid "Cyrillic/Ukrainian"
-msgstr "Kirilica / ukrainiečių"
-
-#: src/ui/gui/psppire-encoding-selector.c:176
-msgid "Georgian"
-msgstr "Gruzinų"
-
-#: src/ui/gui/psppire-encoding-selector.c:177
-msgid "Greek"
-msgstr "Graikų"
-
#: src/ui/gui/psppire-encoding-selector.c:178
-msgid "Gujarati"
-msgstr "Gudžarati"
-
-#: src/ui/gui/psppire-encoding-selector.c:179
-msgid "Gurmukhi"
-msgstr "Gurmukhi"
-
-#: src/ui/gui/psppire-encoding-selector.c:180
-msgid "Hebrew"
-msgstr "Hebrajų"
-
-#: src/ui/gui/psppire-encoding-selector.c:182
-msgid "Hebrew Visual"
-msgstr "Hebrajų regimoji"
-
-#: src/ui/gui/psppire-encoding-selector.c:183
-msgid "Hindi"
-msgstr "Hindi"
-
-#: src/ui/gui/psppire-encoding-selector.c:184
-msgid "Icelandic"
-msgstr "Islandų"
-
-#: src/ui/gui/psppire-encoding-selector.c:185
-msgid "Japanese"
-msgstr "Japonų"
-
-#: src/ui/gui/psppire-encoding-selector.c:187
-msgid "Korean"
-msgstr "Korėjiečių"
-
-#: src/ui/gui/psppire-encoding-selector.c:189
-msgid "Nordic"
-msgstr "Šiaurės"
-
-#: src/ui/gui/psppire-encoding-selector.c:190
-msgid "Romanian"
-msgstr "Rumunų"
-
-#: src/ui/gui/psppire-encoding-selector.c:192
-msgid "South European"
-msgstr "Pietų Europos"
-
-#: src/ui/gui/psppire-encoding-selector.c:193
-msgid "Thai"
-msgstr "Tajų"
-
-#: src/ui/gui/psppire-encoding-selector.c:195
-msgid "Turkish"
-msgstr "Turkų"
-
-#: src/ui/gui/psppire-encoding-selector.c:197
-msgid "Vietnamese"
-msgstr "Vietnamiečių"
-
-#: src/ui/gui/psppire-encoding-selector.c:199
-msgid "Western European"
-msgstr "Vakarų Europos"
-
-#: src/ui/gui/psppire-encoding-selector.c:222
msgid "Character Encoding: "
msgstr "Ženklų kodavimas: "
-#: src/ui/gui/psppire-output-window.c:358
+#: src/ui/gui/psppire-means-layer.c:45
+#, c-format
+msgid "Layer %d of %d"
+msgstr "%d sluoksnis iš %d"
+
+#: src/ui/gui/psppire-output-window.c:347
msgid "Message"
msgstr "Pranešimas"
-#: src/ui/gui/psppire-output-window.c:519
+#: src/ui/gui/psppire-output-window.c:508
msgid "Infer file type from extension"
msgstr "rinkmenos tipą nuspėti pagal prievardį"
-#: src/ui/gui/psppire-output-window.c:520
+#: src/ui/gui/psppire-output-window.c:509
msgid "PDF (*.pdf)"
msgstr "PDF (*.pdf)"
-#: src/ui/gui/psppire-output-window.c:521
+#: src/ui/gui/psppire-output-window.c:510
msgid "HTML (*.html)"
msgstr "HTML (*.html)"
-#: src/ui/gui/psppire-output-window.c:522
+#: src/ui/gui/psppire-output-window.c:511
msgid "OpenDocument (*.odt)"
msgstr "OpenDocument (*.odt)"
-#: src/ui/gui/psppire-output-window.c:523
+#: src/ui/gui/psppire-output-window.c:512
msgid "Text (*.txt)"
msgstr "tekstinės rinkmenos (*.txt)"
-#: src/ui/gui/psppire-output-window.c:524
+#: src/ui/gui/psppire-output-window.c:513
msgid "PostScript (*.ps)"
msgstr "postskriptinės rinkmenos (*.ps)"
-#: src/ui/gui/psppire-output-window.c:525
+#: src/ui/gui/psppire-output-window.c:514
msgid "Comma-Separated Values (*.csv)"
msgstr "Kableliais atskirtų reikšmių rinkmena (*.csv)"
-#: src/ui/gui/psppire-output-window.c:626
+#: src/ui/gui/psppire-output-window.c:615
msgid "Export Output"
msgstr "Eksportuoti rezultatus"
-#: src/ui/gui/psppire-output-window.c:765
+#: src/ui/gui/psppire-output-window.c:773
msgid "failed to create temporary directory"
msgstr "nepavyko sukurti laikinojo aplanko"
#. TRANSLATORS: This will form a filename. Please avoid whitespace.
-#: src/ui/gui/psppire-output-window.c:1039
+#: src/ui/gui/psppire-output-window.c:1051
msgid "Output"
msgstr "Rezultatai"
-#: src/ui/gui/psppire-output-window.c:1040
+#: src/ui/gui/psppire-output-window.c:1052
msgid "Output Viewer"
msgstr "rezultatų peržiūra"
-#: src/ui/gui/psppire-syntax-window.c:571
+#: src/ui/gui/psppire-spreadsheet-model.c:268
+msgid "(empty)"
+msgstr "(tuščia)"
+
+#: src/ui/gui/psppire-syntax-window.c:568
#, c-format
msgid "Saved file `%s'"
msgstr "Rinkmena „%s“ įrašyta"
-#: src/ui/gui/psppire-syntax-window.c:592
+#: src/ui/gui/psppire-syntax-window.c:589
msgid "Save Syntax"
msgstr "Įrašyti sintaksę"
-#: src/ui/gui/psppire-syntax-window.c:602 src/ui/gui/psppire-window.c:764
+#: src/ui/gui/psppire-syntax-window.c:599 src/ui/gui/psppire-window.c:743
msgid "Syntax Files (*.sps) "
msgstr "sintaksės rinkmenos (*.sps)"
-#: src/ui/gui/psppire-syntax-window.c:916
+#: src/ui/gui/psppire-syntax-window.c:913
msgid "Syntax Editor"
msgstr "sintaksės redaktorius"
-#: src/ui/gui/psppire-syntax-window.c:931
+#: src/ui/gui/psppire-syntax-window.c:928
#, c-format
msgid "Cannot load syntax file `%s'"
msgstr "Nepavyksta įkelti sintaksės rinkmenos „%s“"
-#: src/ui/gui/psppire-val-chooser.c:299
+#: src/ui/gui/psppire-val-chooser.c:300
msgid "through"
msgstr "iki"
-#: src/ui/gui/psppire-val-chooser.c:328 src/ui/gui/find.ui:124
-#: src/ui/gui/var-sheet-dialogs.ui:529
-msgid "Value:"
-msgstr "Reikšmė:"
-
-#: src/ui/gui/psppire-val-chooser.c:329 src/ui/gui/recode.ui:97
-msgid "System Missing"
-msgstr "Sisteminė praleista"
+#: src/ui/gui/psppire-val-chooser.c:329
+msgid "_Value:"
+msgstr "_Reikšmė:"
#: src/ui/gui/psppire-val-chooser.c:330
-msgid "System or User Missing"
-msgstr "Sisteminė arba naudotojo praleista"
+msgid "_System Missing"
+msgstr "_Sisteminė praleista"
#: src/ui/gui/psppire-val-chooser.c:331
-msgid "Range:"
-msgstr "Sritis: nuo"
+msgid "System _or User Missing"
+msgstr "Sisteminė ar_ba naudotojo praleista"
#: src/ui/gui/psppire-val-chooser.c:332
-msgid "Range, LOWEST thru value"
-msgstr "Sritis, nuo MAŽIAUSIOS reikšmės iki ..."
+msgid "_Range:"
+msgstr "_Sritis: nuo"
#: src/ui/gui/psppire-val-chooser.c:333
-msgid "Range, value thru HIGHEST"
-msgstr "Sritis, nuo reikšmės ... iki DIDŽIAUSIOS"
+msgid "Range, _LOWEST thru value"
+msgstr "Sritis, nuo _MAŽIAUSIOS iki ... reikšmės"
#: src/ui/gui/psppire-val-chooser.c:334
-msgid "All other values"
-msgstr "Visos kitos reikšmės"
+msgid "Range, value thru _HIGHEST"
+msgstr "Sritis, nuo ... iki _DIDŽIAUSIOS reikšmės"
+
+#: src/ui/gui/psppire-val-chooser.c:335
+msgid "_All other values"
+msgstr "_Visos kitos reikšmės"
-#: src/ui/gui/psppire-var-sheet.c:532 src/ui/gui/psppire-var-store.c:769
-#: src/language/stats/crosstabs.q:1307 src/ui/gui/compute.ui:599
+#: src/ui/gui/psppire-var-sheet.c:552 src/ui/gui/psppire-var-store.c:774
+#: src/language/stats/crosstabs.q:1337 src/ui/gui/compute.ui:618
msgid "Type"
msgstr "Tipas"
-#: src/ui/gui/psppire-var-sheet.c:533 src/ui/gui/psppire-var-store.c:770
-#: src/ui/gui/compute.ui:517
+#: src/ui/gui/psppire-var-sheet.c:553 src/ui/gui/psppire-var-store.c:775
+#: src/ui/gui/compute.ui:532
msgid "Width"
msgstr "Plotis"
-#: src/ui/gui/psppire-var-sheet.c:534 src/ui/gui/psppire-var-store.c:771
+#: src/ui/gui/psppire-var-sheet.c:554 src/ui/gui/psppire-var-store.c:776
msgid "Decimals"
msgstr "10-tainė skiltis"
-#: src/ui/gui/psppire-var-sheet.c:536 src/ui/gui/psppire-var-store.c:773
+#: src/ui/gui/psppire-var-sheet.c:556 src/ui/gui/psppire-var-store.c:778
msgid "Values"
msgstr "Reikšmės"
-#: src/ui/gui/psppire-var-sheet.c:537 src/ui/gui/psppire-var-store.c:774
-#: src/language/stats/crosstabs.q:830 src/language/stats/examine.q:1103
-#: src/language/stats/frequencies.q:872 src/language/stats/frequencies.q:1043
-msgid "Missing"
-msgstr "Praleista"
-
-#: src/ui/gui/psppire-var-sheet.c:539 src/ui/gui/psppire-var-store.c:776
+#: src/ui/gui/psppire-var-sheet.c:559 src/ui/gui/psppire-var-store.c:781
msgid "Align"
msgstr "Lygiuotė"
-#: src/ui/gui/psppire-var-sheet.c:540 src/ui/gui/psppire-var-store.c:777
+#: src/ui/gui/psppire-var-sheet.c:560 src/ui/gui/psppire-var-store.c:782
msgid "Measure"
msgstr "Matavimo skalė"
-#: src/ui/gui/psppire-var-store.c:690
+#: src/ui/gui/psppire-var-store.c:692
#, c-format
msgid "{%s,`%s'}_"
msgstr "{%s,„%s“}_"
-#: src/ui/gui/psppire-window.c:526
+#: src/ui/gui/psppire-window.c:505
#, c-format
msgid "Save the changes to `%s' before closing?"
msgstr "Prieš užveriant įrašyti pakeitimus į „%s“?"
-#: src/ui/gui/psppire-window.c:533
+#: src/ui/gui/psppire-window.c:512
#, c-format
msgid "If you don't save, changes from the last %ld seconds will be permanently lost."
msgstr "Jei neįrašysite, visiškai prarasite pakeitimus, kuriuos atlikote per pastarąsias %ld sekundes."
-#: src/ui/gui/psppire-window.c:537
+#: src/ui/gui/psppire-window.c:516
msgid "Close _without saving"
msgstr "Užverti _neįrašant"
-#: src/ui/gui/psppire-window.c:737
+#: src/ui/gui/psppire-window.c:716
msgid "Open"
msgstr "Atverti"
-#: src/ui/gui/psppire-window.c:746
+#: src/ui/gui/psppire-window.c:725
msgid "Data and Syntax Files"
msgstr "Duomenų ir sintaksės rinkmenos"
-#: src/ui/gui/recode-dialog.c:634
+#: src/ui/gui/recode-dialog.c:645
msgid "Recode into Different Variables"
msgstr "Perkoduoti į kitus kintamuosius"
-#: src/ui/gui/recode-dialog.c:637 src/ui/gui/recode.ui:322
+#: src/ui/gui/recode-dialog.c:648 src/ui/gui/recode.ui:332
msgid "Recode into Same Variables"
msgstr "Perkoduoti į tuos pačius kintamuosius"
-#: src/ui/gui/recode-dialog.c:895
+#: src/ui/gui/recode-dialog.c:909
msgid "Recode into Different Variables: Old and New Values "
msgstr "Perkoduoti į kitus kintamuosius senos ir naujos reikšmės "
-#: src/ui/gui/recode-dialog.c:896
+#: src/ui/gui/recode-dialog.c:910
msgid "Recode into Same Variables: Old and New Values"
msgstr "Perkoduoti į tuos pačius kintamuosius: senos ir naujos reikšmės"
-#: src/ui/gui/regression-dialog.c:42
-msgid "Coeff"
-msgstr "Koef."
-
-#: src/ui/gui/regression-dialog.c:43 src/language/stats/regression.q:157
-msgid "R"
-msgstr "R"
-
-#: src/ui/gui/regression-dialog.c:44
-msgid "Anova"
-msgstr "Anova"
-
-#: src/ui/gui/regression-dialog.c:45
-msgid "Bcov"
-msgstr "Bcov"
-
-#: src/ui/gui/select-cases-dialog.c:84
+#: src/ui/gui/select-cases-dialog.c:63
#, c-format
msgid "Approximately %3d%% of all cases."
msgstr "Maždaug %3d%% visų atvejų."
-#: src/ui/gui/select-cases-dialog.c:85
+#: src/ui/gui/select-cases-dialog.c:64
#, c-format
msgid "Exactly %3d cases from the first %3d cases."
msgstr "Tiksliai %3d atvejų iš %3d."
-#: src/ui/gui/select-cases-dialog.c:224
+#: src/ui/gui/select-cases-dialog.c:203
#, c-format
msgid "%d thru %d"
msgstr "nuo %d iki %d"
-#: src/ui/gui/text-data-import-dialog.c:453
-#, c-format
-msgid "Could not open `%s': %s"
-msgstr "Nepavyksta atverti „%s“: %s"
-
-#: src/ui/gui/text-data-import-dialog.c:469
-#, c-format
-msgid "Error reading `%s': %s"
-msgstr "Klaida bandant nuskaityti „%s“: %s"
-
-#: src/ui/gui/text-data-import-dialog.c:472
-#, c-format
-msgid "Failed to read `%s', because it contains a line over %d bytes long and therefore appears not to be a text file."
-msgstr "Nepavyko nuskaityti „%s“, nes joje bent viena linija yra ilgesnė kaip %d bit. Galbūt tai nėra tekstinė rinkmena."
-
-#: src/ui/gui/text-data-import-dialog.c:486
-#, c-format
-msgid "`%s' is empty."
-msgstr "„%s“ yra tuščias."
-
-#: src/ui/gui/text-data-import-dialog.c:530
-msgid "Import Delimited Text Data"
-msgstr "Importuoti bet kokius tekstinius duomenis"
-
-#: src/ui/gui/text-data-import-dialog.c:583
+#: src/ui/gui/page-assistant.c:98
msgid "Importing Delimited Text Data"
msgstr "Importuojami bet kokie tekstiniai duomenys"
-#: src/ui/gui/text-data-import-dialog.c:732
+#: src/ui/gui/page-intro.c:96
#, c-format
msgid "Only the first %4d cases"
msgstr "Tik pirmuosius %4d"
-#: src/ui/gui/text-data-import-dialog.c:742
+#: src/ui/gui/page-intro.c:106
#, c-format
msgid "Only the first %3d %% of file (approximately)"
msgstr "Tik %3d %% rinkmenos nuo pradžių (apytiksliai)"
-#: src/ui/gui/text-data-import-dialog.c:767
+#: src/ui/gui/page-intro.c:131
msgid ""
"This assistant will guide you through the process of importing data into PSPP from a text file with one line per case, in which fields are separated by tabs, commas, or other delimiters.\n"
"\n"
"Šis vediklis padės į PSPP importuoti duomenis iš tekstinės rinkmenos, kur viena eilutė atitiks vieną atvejį, o laukai (būsimi kintamieji) atskiriami tabuliacija, kableliu ar kitu pasirinktu simboliu.\n"
"\n"
-#: src/ui/gui/text-data-import-dialog.c:773
+#: src/ui/gui/page-intro.c:137
#, c-format
msgid "The selected file contains %zu line of text. "
msgid_plural "The selected file contains %zu lines of text. "
msgstr[2] "Pasirinkta rinkmena turi %zu eilutes teksto. "
msgstr[3] "Pasirinkta rinkmena turi %zu eilučių teksto. "
-#: src/ui/gui/text-data-import-dialog.c:781
+#: src/ui/gui/page-intro.c:145
#, c-format
msgid "The selected file contains approximately %lu line of text. "
msgid_plural "The selected file contains approximately %lu lines of text. "
msgstr[2] "Pasirinkta rinkmena turi maždaug %lu eilutes teksto. "
msgstr[3] "Pasirinkta rinkmena turi maždaug %lu eilučių teksto. "
-#: src/ui/gui/text-data-import-dialog.c:787
+#: src/ui/gui/page-intro.c:151
#, c-format
msgid "Only the first %zu line of the file will be shown for preview purposes in the following screens. "
msgid_plural "Only the first %zu lines of the file will be shown for preview purposes in the following screens. "
msgstr[2] "Sekančiame lange galėsite peržiūrėti tik pirmąsias %zu eilutes. "
msgstr[3] "Sekančiame lange galėsite peržiūrėti tik pirmąsias %zu eilučių. "
-#: src/ui/gui/text-data-import-dialog.c:794
+#: src/ui/gui/page-intro.c:158
msgid "You may choose below how much of the file should actually be imported."
msgstr "Žemiau galite nurodyti, kiek importuoti rinkmenos duomenų."
-#: src/ui/gui/text-data-import-dialog.c:877
+#: src/ui/gui/page-file.c:102
+#, c-format
+msgid "Could not open `%s': %s"
+msgstr "Nepavyksta atverti „%s“: %s"
+
+#: src/ui/gui/page-file.c:118
+#, c-format
+msgid "Error reading `%s': %s"
+msgstr "Klaida bandant nuskaityti „%s“: %s"
+
+#: src/ui/gui/page-file.c:121
+#, c-format
+msgid "Failed to read `%s', because it contains a line over %d bytes long and therefore appears not to be a text file."
+msgstr "Nepavyko nuskaityti „%s“, nes joje bent viena linija yra ilgesnė kaip %d bit. Galbūt tai nėra tekstinė rinkmena."
+
+#: src/ui/gui/page-file.c:139
+#, c-format
+msgid "`%s' is empty."
+msgstr "„%s“ yra tuščias."
+
+#: src/ui/gui/page-file.c:196
+msgid "Import Delimited Text Data"
+msgstr "Importuoti bet kokius tekstinius duomenis"
+
+#: src/ui/gui/page-file.c:206
+msgid "Text files"
+msgstr "Tekstinės rinkmenos"
+
+#: src/ui/gui/page-file.c:211
+msgid "Text (*.txt) Files"
+msgstr "Tekstinės (*.txt) rinkmenos"
+
+#: src/ui/gui/page-file.c:217
+msgid "Plain Text (ASCII) Files"
+msgstr "Grynojo teksto (ASCII) rinkmenos"
+
+#: src/ui/gui/page-file.c:222
+msgid "Comma Separated Value Files"
+msgstr "Kableliais atskirtų reikšmių rinkmenos"
+
+#: src/ui/gui/page-file.c:229
+msgid "Tab Separated Value Files"
+msgstr "Tabuliavimo žyme atskirtų reikšmių rinkmenos"
+
+#: src/ui/gui/page-first-line.c:144
msgid "Text"
msgstr "Tekstas"
-#: src/ui/gui/text-data-import-dialog.c:1541
-#: src/ui/gui/text-data-import-dialog.c:1787
+#: src/ui/gui/text-data-import-dialog.c:321
+#: src/ui/gui/text-data-import-dialog.c:369
msgid "This input line has too few separators to fill in this field."
msgstr "Įvedimo eilutė turi per mažai skyriklių, tad šis laukas neužpildytas"
-#: src/ui/gui/text-data-import-dialog.c:1778
+#: src/ui/gui/text-data-import-dialog.c:360
#, c-format
msgid "Cannot parse field content `%.*s' as format %s: %s"
msgstr "Nepavyksta lauko turinio „%.*s“ išnagrinėti %s formatu: %s"
-#: src/ui/gui/text-data-import-dialog.c:1931
+#: src/ui/gui/text-data-import-dialog.c:533
msgid "Line"
msgstr "Eilutė"
#: src/ui/gui/t-test-options.c:65
#, c-format
-msgid "Confidence Interval: %2d %%"
-msgstr "Pasikliautinasis intervalas: %2d %%"
+msgid "Con_fidence Interval: %2d %%"
+msgstr "_Pasikliautinasis intervalas: %2d %%"
-#: src/ui/gui/t-test-paired-samples.c:93
-msgid "_Options"
-msgstr "Pa_rinktys"
+#: src/ui/gui/t-test-paired-samples.c:93 src/ui/gui/examine.ui:266
+#: src/ui/gui/indep-samples.ui:69 src/ui/gui/t-test.ui:250
+msgid "O_ptions..."
+msgstr "_Parinktys..."
#: src/ui/gui/t-test-paired-samples.c:105
msgid "Paired Samples T Test"
msgid "Two-Related-Samples Tests"
msgstr "Kriterijai dvejoms priklausomoms imtims"
-#: src/ui/gui/val-labs-dialog.c:511
+#: src/ui/gui/val-labs-dialog.c:540
#, c-format
msgid "%s = `%s'"
msgstr "%s = „%s“"
msgid "Weight cases by %s"
msgstr "Atvejus sverti pagal %s"
-#: src/language/utilities/set.q:156 src/language/utilities/set.q:163
+#: src/language/utilities/set.q:163 src/language/utilities/set.q:170
#, c-format
msgid "%s must be at least 1."
msgstr "%s turi būti bent 1."
-#: src/language/utilities/set.q:170 src/language/data-io/file-handle.q:102
+#: src/language/utilities/set.q:177 src/language/data-io/file-handle.q:106
#, c-format
msgid "%s must not be negative."
msgstr "%s negali būti neigiamas."
-#: src/language/utilities/set.q:189
+#: src/language/utilities/set.q:196
msgid "WORKSPACE must be at least 1MB"
msgstr "WORKSPACE turi būti bent 1MB"
-#: src/language/utilities/set.q:191
+#: src/language/utilities/set.q:198
msgid "WORKSPACE must be positive"
msgstr "WORKSPACE turi būti teigiamas"
-#: src/language/utilities/set.q:197 src/language/utilities/set.q:199
-#: src/language/utilities/set.q:201 src/language/utilities/set.q:203
-#: src/language/utilities/set.q:205 src/language/utilities/set.q:207
-#: src/language/utilities/set.q:209 src/language/utilities/set.q:211
-#: src/language/utilities/set.q:213 src/language/utilities/set.q:215
-#: src/language/utilities/set.q:217
+#: src/language/utilities/set.q:204 src/language/utilities/set.q:206
+#: src/language/utilities/set.q:208 src/language/utilities/set.q:210
+#: src/language/utilities/set.q:212 src/language/utilities/set.q:214
+#: src/language/utilities/set.q:216 src/language/utilities/set.q:218
+#: src/language/utilities/set.q:220 src/language/utilities/set.q:222
+#: src/language/utilities/set.q:224
#, c-format
msgid "%s is obsolete."
msgstr "%s yra pasenęs."
-#: src/language/utilities/set.q:223
+#: src/language/utilities/set.q:230
msgid "Active file compression is not implemented."
msgstr "Veikiamosios rinkmenos glaudinimas dar nerealizuotas."
-#: src/language/utilities/set.q:370
+#: src/language/utilities/set.q:406
msgid "EPOCH must be 1500 or later."
msgstr "EPOCH turi būti 1500 arba daugiau."
-#: src/language/utilities/set.q:377
+#: src/language/utilities/set.q:413
msgid "expecting AUTOMATIC or year"
msgstr "tikėtasi AUTOMATIC arba metų"
-#: src/language/utilities/set.q:405
+#: src/language/utilities/set.q:441
msgid "LENGTH must be at least 1."
msgstr "LENGTH (ilgis) turi būti bent 1."
-#: src/language/utilities/set.q:441
+#: src/language/utilities/set.q:477
#, c-format
msgid "%s is not a recognized encoding or locale name"
msgstr "%s neatpažinta kaip koduotė ar lokalė"
-#: src/language/utilities/set.q:502
+#: src/language/utilities/set.q:538
msgid "WIDTH must be at least 40."
msgstr "WIDTH (plotis) turi būti bent 40."
-#: src/language/utilities/set.q:529
+#: src/language/utilities/set.q:565
#, c-format
msgid "FORMAT requires numeric output format as an argument. Specified format %s is of type string."
msgstr "FORMAT reikalauja skaitmeninio išvedimo formato kaip argumento. Nurodytas formato %s tipas yra teksto eilutė."
-#: src/language/utilities/set.q:743
+#: src/language/utilities/set.q:787
msgid "ISL (32-bit IEEE 754 single, little-endian)"
msgstr ""
-#: src/language/utilities/set.q:746
+#: src/language/utilities/set.q:790
msgid "ISB (32-bit IEEE 754 single, big-endian)"
msgstr ""
-#: src/language/utilities/set.q:749
+#: src/language/utilities/set.q:793
msgid "IDL (64-bit IEEE 754 double, little-endian)"
msgstr ""
-#: src/language/utilities/set.q:752
+#: src/language/utilities/set.q:796
msgid "IDB (64-bit IEEE 754 double, big-endian)"
msgstr ""
-#: src/language/utilities/set.q:756
+#: src/language/utilities/set.q:800
msgid "VF (32-bit VAX F, VAX-endian)"
msgstr ""
-#: src/language/utilities/set.q:759
+#: src/language/utilities/set.q:803
msgid "VD (64-bit VAX D, VAX-endian)"
msgstr ""
-#: src/language/utilities/set.q:762
+#: src/language/utilities/set.q:806
msgid "VG (64-bit VAX G, VAX-endian)"
msgstr ""
-#: src/language/utilities/set.q:766
+#: src/language/utilities/set.q:810
msgid "ZS (32-bit IBM Z hexadecimal short, big-endian)"
msgstr ""
-#: src/language/utilities/set.q:769
+#: src/language/utilities/set.q:813
msgid "ZL (64-bit IBM Z hexadecimal long, big-endian)"
msgstr ""
-#: src/language/utilities/set.q:870
+#: src/language/utilities/set.q:980
#, c-format
msgid "%s is %s."
msgstr "%s yra %s."
-#: src/language/utilities/set.q:973
+#: src/language/utilities/set.q:1084
#, c-format
msgid "Too many PRESERVE commands without a RESTORE: at most %d levels of saved settings are allowed."
msgstr ""
-#: src/language/utilities/set.q:992
+#: src/language/utilities/set.q:1103
msgid "RESTORE without matching PRESERVE."
msgstr "RESTORE be atitinkamo PRESERVE."
-#: src/language/stats/crosstabs.q:294
+#: src/language/stats/crosstabs.q:297
msgid "Missing mode REPORT not allowed in general mode. Assuming MISSING=TABLE."
msgstr ""
-#: src/language/stats/crosstabs.q:404
+#: src/language/stats/crosstabs.q:413
msgid "Too many cross-tabulation variables or dimensions."
msgstr "Požymių dažnių lentelėms yra per daug kintamųjų arba dimensijų."
-#: src/language/stats/crosstabs.q:471
+#: src/language/stats/crosstabs.q:481
msgid "VARIABLES must be specified before TABLES."
msgstr "VARIABLES (kintamieji) turi nurodyti pirmiau nei TABLES (lentelės)."
-#: src/language/stats/crosstabs.q:505
+#: src/language/stats/crosstabs.q:515
#, c-format
msgid "Maximum value (%ld) less than minimum value (%ld)."
msgstr "Didžiausia reikšmė (%ld) yra mažesnė mažiausiąją (%ld)."
-#: src/language/stats/crosstabs.q:826
+#: src/language/stats/crosstabs.q:856
msgid "Summary."
msgstr "Santrauka."
#. TRANSLATORS: The %s here describes a crosstabulation. It takes the
#. form "var1 * var2 * var3 * ...".
-#: src/language/stats/crosstabs.q:935
+#: src/language/stats/crosstabs.q:965
#, c-format
msgid "Crosstabulation %s contained no non-missing cases."
msgstr "Požymių priklausomumo lentelėje „%s“ visi atvejai turi praleistas reikšmes."
-#: src/language/stats/crosstabs.q:1133
+#: src/language/stats/crosstabs.q:1163
msgid "count"
msgstr "kiekis"
-#: src/language/stats/crosstabs.q:1134
+#: src/language/stats/crosstabs.q:1164
msgid "row %"
msgstr "% eilutė"
-#: src/language/stats/crosstabs.q:1135
+#: src/language/stats/crosstabs.q:1165
msgid "column %"
msgstr "% stulpelis"
-#: src/language/stats/crosstabs.q:1136
+#: src/language/stats/crosstabs.q:1166
msgid "total %"
msgstr "iš viso %"
-#: src/language/stats/crosstabs.q:1137
+#: src/language/stats/crosstabs.q:1167
msgid "expected"
msgstr "tikėtasi"
-#: src/language/stats/crosstabs.q:1138
+#: src/language/stats/crosstabs.q:1168
msgid "residual"
msgstr "liekana"
-#: src/language/stats/crosstabs.q:1139
+#: src/language/stats/crosstabs.q:1169
msgid "std. resid."
msgstr "norm. liekana"
-#: src/language/stats/crosstabs.q:1140
+#: src/language/stats/crosstabs.q:1170
msgid "adj. resid."
msgstr "patiksl. norm. liekana"
-#: src/language/stats/crosstabs.q:1229
+#: src/language/stats/crosstabs.q:1259
msgid "Chi-square tests."
msgstr "Chi-kvadrato kriterij."
-#: src/language/stats/crosstabs.q:1255
+#: src/language/stats/crosstabs.q:1285
msgid "Symmetric measures."
msgstr "Simetriniai matavimai."
-#: src/language/stats/crosstabs.q:1261 src/language/stats/crosstabs.q:1309
+#: src/language/stats/crosstabs.q:1291 src/language/stats/crosstabs.q:1339
msgid "Asymp. Std. Error"
msgstr "Asimpt. std. paklaida"
-#: src/language/stats/crosstabs.q:1262 src/language/stats/crosstabs.q:1310
+#: src/language/stats/crosstabs.q:1292 src/language/stats/crosstabs.q:1340
msgid "Approx. T"
msgstr "Apytiksl. T"
-#: src/language/stats/crosstabs.q:1263 src/language/stats/crosstabs.q:1311
+#: src/language/stats/crosstabs.q:1293 src/language/stats/crosstabs.q:1341
msgid "Approx. Sig."
msgstr "Apytiksl. p-reikšmė"
-#: src/language/stats/crosstabs.q:1277
+#: src/language/stats/crosstabs.q:1307
msgid "Risk estimate."
msgstr "Rizikos įvertis."
-#: src/language/stats/crosstabs.q:1281
+#: src/language/stats/crosstabs.q:1311
#, c-format
msgid "95%% Confidence Interval"
msgstr "95%% pasikliautinasis intervalas"
-#: src/language/stats/crosstabs.q:1302
+#: src/language/stats/crosstabs.q:1332
msgid "Directional measures."
msgstr "Kryptingi matavimai."
-#: src/language/stats/crosstabs.q:1739
+#: src/language/stats/crosstabs.q:1768
msgid "Pearson Chi-Square"
msgstr "Pirsono Chi-kvadratas"
-#: src/language/stats/crosstabs.q:1740
+#: src/language/stats/crosstabs.q:1769
msgid "Likelihood Ratio"
msgstr "Tikėtinumo santykis"
-#: src/language/stats/crosstabs.q:1741
+#: src/language/stats/crosstabs.q:1770
msgid "Fisher's Exact Test"
msgstr "Tikslus Fišerio kriterijus"
-#: src/language/stats/crosstabs.q:1742
+#: src/language/stats/crosstabs.q:1771
msgid "Continuity Correction"
msgstr "Tolydumo pataisa"
-#: src/language/stats/crosstabs.q:1743
+#: src/language/stats/crosstabs.q:1772
msgid "Linear-by-Linear Association"
msgstr "Dvitiesinė priklausomybė"
-#: src/language/stats/crosstabs.q:1778 src/language/stats/crosstabs.q:1853
-#: src/language/stats/crosstabs.q:1918
+#: src/language/stats/crosstabs.q:1807 src/language/stats/crosstabs.q:1882
+#: src/language/stats/crosstabs.q:1947
msgid "N of Valid Cases"
msgstr "N galiojančių atvejų"
-#: src/language/stats/crosstabs.q:1797 src/language/stats/crosstabs.q:1936
+#: src/language/stats/crosstabs.q:1826 src/language/stats/crosstabs.q:1965
msgid "Nominal by Nominal"
msgstr "Pavadinimų x pavadinimų"
-#: src/language/stats/crosstabs.q:1798 src/language/stats/crosstabs.q:1937
+#: src/language/stats/crosstabs.q:1827 src/language/stats/crosstabs.q:1966
msgid "Ordinal by Ordinal"
msgstr "Rangų x rangų"
-#: src/language/stats/crosstabs.q:1799
+#: src/language/stats/crosstabs.q:1828
msgid "Interval by Interval"
msgstr "Intervalų x intervalų"
-#: src/language/stats/crosstabs.q:1800
+#: src/language/stats/crosstabs.q:1829
msgid "Measure of Agreement"
msgstr "Sutarimas"
-#: src/language/stats/crosstabs.q:1806
+#: src/language/stats/crosstabs.q:1835
msgid "Cramer's V"
msgstr "Kramerio V"
-#: src/language/stats/crosstabs.q:1807
+#: src/language/stats/crosstabs.q:1836
msgid "Contingency Coefficient"
msgstr "Kontingencijos koeficientas"
-#: src/language/stats/crosstabs.q:1808
+#: src/language/stats/crosstabs.q:1837
msgid "Kendall's tau-b"
msgstr "Kendall tau-b"
-#: src/language/stats/crosstabs.q:1809
+#: src/language/stats/crosstabs.q:1838
msgid "Kendall's tau-c"
msgstr "Kendall tau-c"
-#: src/language/stats/crosstabs.q:1811
+#: src/language/stats/crosstabs.q:1840
msgid "Spearman Correlation"
msgstr "Spirmano koreliacija"
-#: src/language/stats/crosstabs.q:1812
+#: src/language/stats/crosstabs.q:1841
msgid "Pearson's R"
msgstr "Pirsono R"
-#: src/language/stats/crosstabs.q:1891
+#: src/language/stats/crosstabs.q:1920
#, c-format
msgid "Odds Ratio for %s (%g / %g)"
msgstr "Galimybių santykis: %s (%g / %g)"
-#: src/language/stats/crosstabs.q:1894
+#: src/language/stats/crosstabs.q:1923
#, c-format
msgid "Odds Ratio for %s (%.*s / %.*s)"
msgstr "Galimybių santykis: %s (%.*s / %.*s)"
-#: src/language/stats/crosstabs.q:1902
+#: src/language/stats/crosstabs.q:1931
#, c-format
msgid "For cohort %s = %g"
msgstr "Kohortai %s = %g"
-#: src/language/stats/crosstabs.q:1905
+#: src/language/stats/crosstabs.q:1934
#, c-format
msgid "For cohort %s = %.*s"
msgstr "Kohortai %s = %.*s"
-#: src/language/stats/crosstabs.q:1938
+#: src/language/stats/crosstabs.q:1967
msgid "Nominal by Interval"
msgstr "Pavadinimų x intervalų"
-#: src/language/stats/crosstabs.q:1944
+#: src/language/stats/crosstabs.q:1973
msgid "Goodman and Kruskal tau"
msgstr "Gudmano-Kruskalio tau"
-#: src/language/stats/crosstabs.q:1945
+#: src/language/stats/crosstabs.q:1974
msgid "Uncertainty Coefficient"
-msgstr "Neapibrėžtumo koeficientas"
-
-#: src/language/stats/crosstabs.q:1946
-msgid "Somers' d"
-msgstr "Somers d"
-
-#: src/language/stats/crosstabs.q:1952
-msgid "Symmetric"
-msgstr "Simetrinis"
-
-#: src/language/stats/crosstabs.q:1953 src/language/stats/crosstabs.q:1954
-#, c-format
-msgid "%s Dependent"
-msgstr "%s priklausomas"
-
-#: src/language/stats/examine.q:355
-msgid "Not creating NP plot because data set is empty."
-msgstr ""
-
-#: src/language/stats/examine.q:441 src/language/stats/examine.q:948
-msgid "Not creating plot because data set is empty."
-msgstr "Diagrama nebraižoma, nes pateiktas tuščias duomenų rinkinys."
-
-#: src/language/stats/examine.q:453
-#, c-format
-msgid "Boxplot of %s vs. %s"
-msgstr "%s ir %s stulpelinės sklaidos diagrama"
-
-#: src/language/stats/examine.q:457
-#, c-format
-msgid "Boxplot of %s"
-msgstr "%s stulpelinės sklaidos diagrama"
-
-#: src/language/stats/examine.q:646 src/language/stats/examine.q:659
-#, c-format
-msgid "%s and %s are mutually exclusive"
-msgstr ""
-
-#: src/language/stats/examine.q:1463
-msgid "5% Trimmed Mean"
-msgstr "5% nupjautasis vidurkis"
-
-#: src/language/stats/examine.q:1498
-msgid "Interquartile Range"
-msgstr "Intervalas tarp kvartilių"
-
-#: src/language/stats/examine.q:1820
-msgid "Highest"
-msgstr "Didžiausias"
-
-#: src/language/stats/examine.q:1825
-msgid "Lowest"
-msgstr "Mažiausias"
-
-#: src/language/stats/examine.q:1832
-msgid "Extreme Values"
-msgstr "Ekstremumų reikšmės"
+msgstr "Neapibrėžtumo koeficientas"
-#: src/language/stats/examine.q:1836 src/language/data-io/list.q:157
-msgid "Case Number"
-msgstr "Atvejo numeris"
+#: src/language/stats/crosstabs.q:1975
+msgid "Somers' d"
+msgstr "Somers d"
-#: src/language/stats/examine.q:1956
-msgid "Tukey's Hinges"
-msgstr ""
+#: src/language/stats/crosstabs.q:1981
+msgid "Symmetric"
+msgstr "Simetrinis"
-#: src/language/stats/examine.q:2002
+#: src/language/stats/crosstabs.q:1982 src/language/stats/crosstabs.q:1983
#, c-format
-msgid "%g"
-msgstr "%g"
+msgid "%s Dependent"
+msgstr "%s priklausomas"
-#: src/language/stats/frequencies.q:381
+#: src/language/stats/frequencies.q:383
msgid "Bar charts are not implemented."
msgstr "Stulpelinės diagramos dar nerealizuotos."
-#: src/language/stats/frequencies.q:398
+#: src/language/stats/frequencies.q:400
#, c-format
msgid "MAX for histogram must be greater than or equal to MIN, but MIN was specified as %.15g and MAX as %.15g. MIN and MAX will be ignored."
msgstr ""
-#: src/language/stats/frequencies.q:419
+#: src/language/stats/frequencies.q:421
#, c-format
msgid "MAX for pie chart must be greater than or equal to MIN, but MIN was specified as %.15g and MAX as %.15g. MIN and MAX will be ignored."
msgstr ""
-#: src/language/stats/frequencies.q:722
+#: src/language/stats/frequencies.q:727
#, c-format
msgid "Variables %s specified multiple times on GROUPED subcommand."
msgstr ""
-#: src/language/stats/frequencies.q:732
+#: src/language/stats/frequencies.q:737
#, c-format
msgid "Variables %s specified on GROUPED but not on VARIABLES."
msgstr "Kintamieji %s nurodyti ties GROUPED, bet ne ties VARIABLES."
-#: src/language/stats/frequencies.q:820
+#: src/language/stats/frequencies.q:825
msgid "Value Label"
msgstr "Reikšmės etiketė"
-#: src/language/stats/frequencies.q:824
+#: src/language/stats/frequencies.q:829
msgid "Valid Percent"
msgstr "Galiojanti procentinė dalis"
-#: src/language/stats/frequencies.q:825
+#: src/language/stats/frequencies.q:830
msgid "Cum Percent"
msgstr "Sukauptoji procentinė dalis"
-#: src/language/stats/frequencies.q:1015
+#: src/language/stats/frequencies.q:1020
#, c-format
msgid "No valid data for variable %s; statistics not displayed."
msgstr "Kintamasis %s neturi tinkamų duomenų; statistika nerodoma."
-#: src/language/stats/frequencies.q:1061
+#: src/language/stats/frequencies.q:1066
msgid "50 (Median)"
msgstr "50 (mediana)"
-#: src/language/stats/frequencies.q:1217
+#: src/language/stats/frequencies.q:1215
#, c-format
msgid "Omitting pie chart for %s, which has only %d unique values."
msgstr "Skritulinė diagrama „%s“ praleidžiama, nes ji turi tik %d reikšmę(-ių)."
-#: src/language/stats/frequencies.q:1220
+#: src/language/stats/frequencies.q:1218
#, c-format
msgid "Omitting pie chart for %s, which has over 50 unique values."
msgstr "Skritulinė diagrama „%s“ praleidžiama, nes ji turi daugiau kaip 50 unikalių reikšmių."
-#: src/language/stats/regression.q:158
-msgid "R Square"
-msgstr "R kvadratas"
-
-#: src/language/stats/regression.q:159
-msgid "Adjusted R Square"
-msgstr "Koreguotas R kvadratas"
-
-#: src/language/stats/regression.q:160
-msgid "Std. Error of the Estimate"
-msgstr "Įverčio std. paklaida"
-
-#: src/language/stats/regression.q:165
-msgid "Model Summary"
-msgstr "Modelio santrauka"
-
-#: src/language/stats/regression.q:199
-msgid "B"
-msgstr "B"
-
-#: src/language/stats/regression.q:201
-msgid "Beta"
-msgstr "Beta"
-
-#: src/language/stats/regression.q:204
-msgid "(Constant)"
-msgstr "(Konstanta)"
-
-#: src/language/stats/regression.q:256
-msgid "Coefficients"
-msgstr "Koeficientai"
-
-#: src/language/stats/regression.q:291 src/ui/gui/regression.ui:7
-msgid "Regression"
-msgstr "Regresija"
-
-#: src/language/stats/regression.q:373
-msgid "Covariances"
-msgstr "Kovariacija"
-
-#: src/language/stats/regression.q:388
-msgid "Coefficient Correlations"
-msgstr "Koeficientų koreliacijos"
-
-#: src/language/stats/regression.q:787
-msgid "The dependent variable is equal to the independent variable.The least squares line is therefore Y=X.Standard errors and related statistics may be meaningless."
-msgstr "Priklausomas kintamasis lygus nepriklausomam kintamajam. Todėl mažiausiųjų kvadratų linija yra Y=X. Standartinė paklaida ir kita statistika gali būti beprasmiška."
-
-#: src/language/stats/regression.q:938
-msgid "REGRESSION requires numeric variables."
-msgstr "REGRESSION reikalauja skaitmeninių kintamųjų."
-
-#: src/language/stats/regression.q:1013
-msgid "No valid data found. This command was skipped."
-msgstr "Nerasta tinkamų duomenų. Ši komanda buvo praleista."
-
-#: src/language/data-io/file-handle.q:70
+#: src/language/data-io/file-handle.q:74
#, c-format
msgid "File handle %s is already defined. Use CLOSE FILE HANDLE before redefining a file handle."
msgstr ""
-#: src/language/data-io/file-handle.q:127
+#: src/language/data-io/file-handle.q:135
msgid "RECFORM must be specified with MODE=360."
msgstr "RECFORM turi būti nurodytas su MODE=360."
-#: src/language/data-io/file-handle.q:138
+#: src/language/data-io/file-handle.q:146
#, c-format
msgid "The specified file mode requires LRECL. Assuming %zu-character records."
msgstr ""
-#: src/language/data-io/file-handle.q:142
+#: src/language/data-io/file-handle.q:150
#, c-format
msgid "Record length (%ld) must be between 1 and %lu bytes. Assuming %zu-character records."
msgstr ""
-#: src/language/data-io/file-handle.q:183
+#: src/language/data-io/file-handle.q:194
msgid "file"
msgstr "rinkmena"
-#: src/language/data-io/file-handle.q:185
+#: src/language/data-io/file-handle.q:196
msgid "inline file"
msgstr ""
-#: src/language/data-io/file-handle.q:233
+#: src/language/data-io/file-handle.q:244
msgid "expecting a file name or handle name"
msgstr ""
-#: src/language/data-io/file-handle.q:248
+#: src/language/data-io/file-handle.q:259
#, c-format
msgid "Handle for %s not allowed here."
msgstr ""
msgid "_Get from data"
msgstr "_Imti iš duomenų"
-#: src/ui/gui/binomial.ui:150 src/ui/gui/t-test.ui:335
+#: src/ui/gui/binomial.ui:150 src/ui/gui/indep-samples.ui:342
msgid "_Cut point:"
msgstr "_Perskirti ties:"
msgstr "Kintamojo apskaičiavimas"
#: src/ui/gui/compute.ui:41
-msgid "Target Variable:"
-msgstr "Paskirties kintamasis:"
+msgid "Target _Variable:"
+msgstr "Paskirties _kintamasis:"
-#: src/ui/gui/compute.ui:70
-msgid "Type & Label"
-msgstr "Tipas ir etiketė"
+#: src/ui/gui/compute.ui:72
+msgid "_Type & Label..."
+msgstr "_Tipas ir etiketė"
-#: src/ui/gui/compute.ui:117
+#: src/ui/gui/compute.ui:120
msgid "="
msgstr "="
-#: src/ui/gui/compute.ui:171
-msgid "Numeric Expressions:"
-msgstr "Skaičiuojamas reiškinys:"
+#: src/ui/gui/compute.ui:174
+msgid "_Numeric Expressions:"
+msgstr "_Skaičiuojamas reiškinys:"
-#: src/ui/gui/compute.ui:233
-msgid "Functions:"
-msgstr "Funkcijos:"
+#: src/ui/gui/compute.ui:238
+msgid "_Functions:"
+msgstr "_Funkcijos:"
-#: src/ui/gui/compute.ui:298 src/ui/gui/recode.ui:371
-#: src/ui/gui/select-cases.ui:378
-msgid "If..."
-msgstr "Jeigu..."
+#: src/ui/gui/compute.ui:305 src/ui/gui/recode.ui:381
+msgid "_If..."
+msgstr "_Jeigu..."
-#: src/ui/gui/compute.ui:351
+#: src/ui/gui/compute.ui:359
msgid "Compute Variable: Type and Label"
msgstr "Kintamojo apskaičiavimas: tipas ir etiketė"
-#: src/ui/gui/compute.ui:386
-msgid "Use expression as label"
-msgstr "Reiškinį naudoti kaip etiketę"
+#: src/ui/gui/compute.ui:394
+msgid "Use _expression as label"
+msgstr "R_eiškinį naudoti kaip etiketę"
+
+#: src/ui/gui/compute.ui:415
+msgid "_Label:"
+msgstr "_Etiketė:"
+
+#: src/ui/gui/compute.ui:515
+msgid "_String"
+msgstr "_Teksto eilutė"
+
+#: src/ui/gui/compute.ui:601
+msgid "_Numeric"
+msgstr "_Skaitmeninis"
#: src/ui/gui/correlation.ui:7
msgid "Bivariate Correlations"
msgid "_Format..."
msgstr "_Formatas..."
-#: src/ui/gui/crosstabs.ui:153
+#: src/ui/gui/crosstabs.ui:153 src/ui/gui/examine.ui:251
msgid "_Statistics..."
msgstr "S_tatistika..."
msgid "Crosstabs: Statistics"
msgstr "Požymių priklausomumo lentelės: statistika"
-#: src/ui/gui/crosstabs.ui:431 src/ui/gui/oneway.ui:231
+#: src/ui/gui/crosstabs.ui:431 src/ui/gui/oneway.ui:234
msgid "Statistics"
msgstr "Statistika"
msgstr "_Kriterijaus kintamieji"
#: src/ui/gui/descriptives.ui:115 src/ui/gui/factor.ui:183
+#: src/ui/gui/recode.ui:606
msgid "_Variables:"
msgstr "_Kintamieji:"
msgstr "Tyrinėti"
#: src/ui/gui/examine.ui:51
-msgid "Label Cases by:"
-msgstr "Atvejams suteikti etiketes pagal:"
-
-#: src/ui/gui/examine.ui:99
-msgid "Factor List:"
-msgstr "Faktorių sąrašas:"
+msgid "_Label Cases by:"
+msgstr "Atvejams suteikti _etiketes pagal:"
-#: src/ui/gui/examine.ui:146
-msgid "Dependent List:"
-msgstr "Analizuotini kintamieji:"
+#: src/ui/gui/examine.ui:101
+msgid "_Factor List:"
+msgstr "_Faktorių sąrašas:"
-#: src/ui/gui/examine.ui:245
-msgid "Statistics..."
-msgstr "Statistika..."
+#: src/ui/gui/examine.ui:150 src/ui/gui/means.ui:110
+msgid "_Dependent List:"
+msgstr "_Priklausomi kintamieji:"
-#: src/ui/gui/examine.ui:259 src/ui/gui/t-test.ui:68 src/ui/gui/t-test.ui:664
-msgid "Options..."
-msgstr "Parinktys..."
-
-#: src/ui/gui/examine.ui:302
+#: src/ui/gui/examine.ui:310
msgid "Explore: Statistics"
msgstr "Tyrinėti: statistika"
-#: src/ui/gui/examine.ui:332
-msgid "Extremes"
-msgstr "Ekstremumai"
+#: src/ui/gui/examine.ui:327 src/ui/gui/oneway.ui:196
+msgid "_Descriptives"
+msgstr "_Aprašomoji"
+
+#: src/ui/gui/examine.ui:341
+msgid "_Extremes"
+msgstr "_Išskirtys"
-#: src/ui/gui/examine.ui:381
+#: src/ui/gui/examine.ui:355
+msgid "_Percentiles"
+msgstr "_Procentiliai"
+
+#: src/ui/gui/examine.ui:392
msgid "Explore: Options"
msgstr "Tyrinėti: parinktys"
-#: src/ui/gui/examine.ui:405
-msgid "Exclude cases listwise"
-msgstr "Atvejai neįtraukiami visose analizėse"
+#: src/ui/gui/examine.ui:416 src/ui/gui/t-test.ui:57
+msgid "Exclude cases _listwise"
+msgstr "Atvejai neįtraukiami _visose analizėse"
-#: src/ui/gui/examine.ui:419
-msgid "Exclude cases pairwise"
-msgstr "Atvejai neįtraukiami porų analizėse"
+#: src/ui/gui/examine.ui:431
+msgid "Exclude cases _pairwise"
+msgstr "Atvejai neįtraukiami _porų analizėse"
-#: src/ui/gui/examine.ui:434
-msgid "Repeat values"
-msgstr "Kartoti reikšmes"
+#: src/ui/gui/examine.ui:447
+msgid "_Report values"
+msgstr ""
-#: src/ui/gui/examine.ui:455 src/ui/gui/t-test.ui:497
-#: src/ui/gui/var-sheet-dialogs.ui:685
+#: src/ui/gui/examine.ui:469 src/ui/gui/t-test.ui:81
msgid "Missing Values"
msgstr "Praleistos reikšmės"
msgid "Factor Analysis"
msgstr "Faktorinė analizė"
-#: src/ui/gui/factor.ui:55 src/ui/gui/data-editor.ui:357
+#: src/ui/gui/factor.ui:55 src/ui/gui/data-editor.ui:359
msgid "_Descriptives..."
msgstr "_Aprašomoji..."
msgid "_Scree plot"
msgstr "Tikrinių reikšmių _grafikas"
-#: src/ui/gui/factor.ui:375 src/ui/gui/roc.ui:288
+#: src/ui/gui/factor.ui:375 src/ui/gui/roc.ui:287
msgid "Display"
msgstr "Rodyti"
msgid "Variable:"
msgstr "Kintamasis:"
+#: src/ui/gui/find.ui:124 src/ui/gui/val-labs-dialog.ui:109
+msgid "Value:"
+msgstr "Reikšmė:"
+
#: src/ui/gui/find.ui:147
msgid "Search value labels"
msgstr "Ieškoti reikšmių etikečių"
msgid "Search backward"
msgstr "Ieškoti atgal"
-#: src/ui/gui/frequencies.ui:107
+#: src/ui/gui/frequencies.ui:107 src/ui/gui/rank.ui:107
msgid "_Variable(s):"
msgstr "_Kintamasis(-ieji):"
-#: src/ui/gui/frequencies.ui:148
+#: src/ui/gui/frequencies.ui:146
msgid "_Statistics:"
msgstr "S_tatistika:"
-#: src/ui/gui/frequencies.ui:161
+#: src/ui/gui/frequencies.ui:159
msgid "Include _missing values"
msgstr "Įtraukti praleistas _reikšmes"
-#: src/ui/gui/frequencies.ui:179
-msgid "Charts..."
-msgstr "Diagramos..."
+#: src/ui/gui/frequencies.ui:177
+msgid "Ch_arts..."
+msgstr "_Diagramos..."
-#: src/ui/gui/frequencies.ui:193
-msgid "Frequency Tables..."
-msgstr "Dažnių lentelės..."
+#: src/ui/gui/frequencies.ui:192
+msgid "Frequency _Tables..."
+msgstr "Dažnių _lentelės..."
#: src/ui/gui/frequencies.ui:243
msgid "Frequencies: Frequency Tables"
msgstr "Dažniai: dažnių lentelės"
#: src/ui/gui/frequencies.ui:280
-msgid "Always"
-msgstr "Visada"
+msgid "_Always"
+msgstr "_Visada"
-#: src/ui/gui/frequencies.ui:296
-msgid "Never"
-msgstr "Niekada"
+#: src/ui/gui/frequencies.ui:297
+msgid "_Never"
+msgstr "_Niekada"
-#: src/ui/gui/frequencies.ui:315
-msgid "If no more than "
-msgstr "Jei reikšmių ne daugiau kaip "
+#: src/ui/gui/frequencies.ui:317
+msgid "If no _more than "
+msgstr "_Jei reikšmių ne daugiau kaip "
-#: src/ui/gui/frequencies.ui:346
+#: src/ui/gui/frequencies.ui:349
msgid "values"
msgstr " "
-#: src/ui/gui/frequencies.ui:367
+#: src/ui/gui/frequencies.ui:370
msgid "Display frequency tables"
msgstr "Rodyti dažnių lenteles"
-#: src/ui/gui/frequencies.ui:395
-msgid "Ascending value"
-msgstr "Didėjančia reikšme"
+#: src/ui/gui/frequencies.ui:397
+msgid "A_scending value"
+msgstr "_Didėjančia reikšme"
-#: src/ui/gui/frequencies.ui:411
-msgid "Descending value"
-msgstr "Mažėjančia reikšme"
+#: src/ui/gui/frequencies.ui:414
+msgid "D_escending value"
+msgstr "_Mažėjančia reikšme"
-#: src/ui/gui/frequencies.ui:427
-msgid "Ascending frequency"
-msgstr "Didėjančiu dažnumu"
+#: src/ui/gui/frequencies.ui:431
+msgid "Ascending _frequency"
+msgstr "Didėjančiu dažn_umu"
-#: src/ui/gui/frequencies.ui:443
-msgid "Descending frequency"
-msgstr "Mažėjančiu dažnumu"
+#: src/ui/gui/frequencies.ui:448
+msgid "Descending f_requency"
+msgstr "Mažėjančiu dažnu_mu"
-#: src/ui/gui/frequencies.ui:465
+#: src/ui/gui/frequencies.ui:471
msgid "Order by"
msgstr "Rikiuojama"
-#: src/ui/gui/frequencies.ui:508
+#: src/ui/gui/frequencies.ui:513
msgid "Frequencies: Charts"
msgstr "Dažniai: diagramos"
-#: src/ui/gui/frequencies.ui:536
-msgid "Exclude values below "
-msgstr "Atmesti reikšmes mažesnes už"
+#: src/ui/gui/frequencies.ui:541
+msgid "Exclude values _below "
+msgstr "Atmesti reikšmes _mažesnes nei "
-#: src/ui/gui/frequencies.ui:571
-msgid "Exclude values above "
-msgstr "Atmesti reikšmes didesnes už"
+#: src/ui/gui/frequencies.ui:577
+msgid "Exclude values _above "
+msgstr "Atmesti reikšmes _didesnes nei "
-#: src/ui/gui/frequencies.ui:609
+#: src/ui/gui/frequencies.ui:616
msgid "<b>Chart Formatting</b>"
msgstr "<b>Diagramų formatas</b>"
-#: src/ui/gui/frequencies.ui:633
-msgid "Draw histograms"
-msgstr "Braižyti histogramas"
+#: src/ui/gui/frequencies.ui:640
+msgid "Draw _histograms"
+msgstr "Braižyti _histogramas"
-#: src/ui/gui/frequencies.ui:645
-msgid "Superimpose normal curve"
-msgstr "Uždėti normaliąją kreivę"
+#: src/ui/gui/frequencies.ui:653
+msgid "Superimpose _normal curve"
+msgstr "Uždėti _normaliąją kreivę"
-#: src/ui/gui/frequencies.ui:661
+#: src/ui/gui/frequencies.ui:670
msgid "Scale:"
msgstr "Skalė:"
-#: src/ui/gui/frequencies.ui:682
-msgid "Percentages"
-msgstr "Procentiniai santykiai"
+#: src/ui/gui/frequencies.ui:678
+msgid "_Frequencies"
+msgstr "_Dažniai"
+
+#: src/ui/gui/frequencies.ui:692
+msgid "_Percentages"
+msgstr "_Procentiniai santykiai"
-#: src/ui/gui/frequencies.ui:705
+#: src/ui/gui/frequencies.ui:716
msgid "<b>Histograms</b>"
msgstr "<b>Histogramos</b>"
-#: src/ui/gui/frequencies.ui:729
-msgid "Draw pie charts"
-msgstr "Braižyti skritulines diagramas"
+#: src/ui/gui/frequencies.ui:740
+msgid "Draw _pie charts"
+msgstr "Braižyti _skritulines diagramas"
-#: src/ui/gui/frequencies.ui:741
-msgid "Include slices for missing values"
-msgstr "Įtraukti praleistų reikšmių skiltis"
+#: src/ui/gui/frequencies.ui:753
+msgid "Include slices for _missing values"
+msgstr "Įtraukti pra_leistų reikšmių skiltis"
-#: src/ui/gui/frequencies.ui:758
+#: src/ui/gui/frequencies.ui:771
msgid "<b>Pie Charts</b>"
msgstr "<b>Skritulinė diagrama</b>"
+#: src/ui/gui/indep-samples.ui:8
+msgid "Independent-Samples T Test"
+msgstr "T kriterijus nepriklausomoms imtims"
+
+#: src/ui/gui/indep-samples.ui:54
+msgid "_Define Groups..."
+msgstr "_Apibrėžti grupes..."
+
+#: src/ui/gui/indep-samples.ui:133 src/ui/gui/t-test.ui:172
+msgid "_Test Variable(s):"
+msgstr "_Kriterijaus kintamasis(-ieji):"
+
+#: src/ui/gui/indep-samples.ui:180
+msgid "_Grouping Variable:"
+msgstr "_Grupavimo kintamasis:"
+
+#: src/ui/gui/indep-samples.ui:238
+msgid "Define Groups"
+msgstr "Apibrėžti grupes"
+
+#: src/ui/gui/indep-samples.ui:278
+msgid "Group_2 value:"
+msgstr "_2 grupės reikšmė:"
+
+#: src/ui/gui/indep-samples.ui:292
+msgid "Group_1 value:"
+msgstr "_1 grupės reikšmė:"
+
+#: src/ui/gui/indep-samples.ui:375
+msgid "_Use specified values:"
+msgstr "_Naudoti nurodytas reikšmes:"
+
#: src/ui/gui/k-means.ui:7
msgid "K-Means Cluster Analysis"
msgstr "Kvidurkių reikšmės klasterinė analizė"
msgid "Test Distribution"
msgstr "Kriterijaus skirstinys"
+#: src/ui/gui/logistic.ui:7
+msgid "Logistic Regression"
+msgstr "Logistinė regresija"
+
+#: src/ui/gui/logistic.ui:32
+msgid "_Options..."
+msgstr "_Parinktys..."
+
+#: src/ui/gui/logistic.ui:47 src/ui/gui/regression.ui:47
+msgid "_Save..."
+msgstr "Į_rašyti..."
+
+#: src/ui/gui/logistic.ui:151 src/ui/gui/regression.ui:165
+msgid "_Dependent"
+msgstr "_Priklausomas"
+
+#: src/ui/gui/logistic.ui:200 src/ui/gui/regression.ui:213
+msgid "_Independent"
+msgstr "_Nepriklausomas"
+
+#: src/ui/gui/logistic.ui:239
+msgid "Logistic Regression: Options"
+msgstr "Logistinė regresija: parinktys"
+
+#: src/ui/gui/logistic.ui:259
+msgid "CI for _exp(B): "
+msgstr ""
+
+#: src/ui/gui/logistic.ui:336
+msgid "Classification cu_toff: "
+msgstr "Klasifikavimo ki_rpinys: "
+
+#: src/ui/gui/logistic.ui:347
+msgid "_Maximum Iterations: "
+msgstr "_Didžiausias iteracijų skaičius: "
+
+#: src/ui/gui/logistic.ui:364
+msgid "Include _constant in model"
+msgstr "Į modelį įtraukti _konstantą"
+
+#: src/ui/gui/means.ui:8
+msgid "Means"
+msgstr "Vidurkiai"
+
+#: src/ui/gui/means.ui:139
+msgid "_Independent List:"
+msgstr "_Nepriklausomi kintamieji:"
+
+#: src/ui/gui/missing-val-dialog.ui:25
+msgid "_No missing values"
+msgstr "_Nėra praleistų reikšmių"
+
+#: src/ui/gui/missing-val-dialog.ui:96
+msgid "_Discrete missing values"
+msgstr "_Diskrečios praleistos reikšmės"
+
+#: src/ui/gui/missing-val-dialog.ui:130
+msgid "_Low:"
+msgstr "_Apačia:"
+
+#: src/ui/gui/missing-val-dialog.ui:149
+msgid "_High:"
+msgstr "_Viršus:"
+
+#: src/ui/gui/missing-val-dialog.ui:174
+msgid "Di_screte value:"
+msgstr "Di_skreti reikšmė:"
+
+#: src/ui/gui/missing-val-dialog.ui:202
+msgid "_Range plus one optional discrete missing value"
+msgstr "_Sritis ir viena diskreti praleista reikšmė"
+
#: src/ui/gui/oneway.ui:8
msgid "One-Way ANOVA"
msgstr "Vienfaktorinė ANOVA"
msgid "_Factor:"
msgstr "_Faktorius:"
-#: src/ui/gui/oneway.ui:76
+#: src/ui/gui/oneway.ui:77
msgid "Dependent _Variable(s):"
msgstr "Priklausomas _kintamasis(-ieji):"
-#: src/ui/gui/oneway.ui:193
-msgid "_Descriptives"
-msgstr "_Aprašomoji"
-
-#: src/ui/gui/oneway.ui:209
+#: src/ui/gui/oneway.ui:212
msgid "_Homogeneity"
msgstr "_Homogeniškumas"
-#: src/ui/gui/oneway.ui:247
+#: src/ui/gui/oneway.ui:250
msgid "_Contrasts..."
msgstr "Kon_trastai..."
-#: src/ui/gui/oneway.ui:303
+#: src/ui/gui/oneway.ui:306
msgid "One-Way ANOVA: Contrasts"
msgstr "Vienfaktorinė ANOVA: kontrastai"
-#: src/ui/gui/oneway.ui:380
+#: src/ui/gui/oneway.ui:383
msgid "_Coefficients:"
msgstr "_Koeficientai:"
-#: src/ui/gui/oneway.ui:428
+#: src/ui/gui/oneway.ui:431
msgid "Coefficient Total: "
msgstr "Koeficientų suma: "
-#: src/ui/gui/oneway.ui:464
+#: src/ui/gui/oneway.ui:467
msgid "Contrast 1 of 1"
msgstr "1 kontrastas iš 1"
#: src/ui/gui/paired-samples.ui:113
-msgid "Test _Pair(s):"
-msgstr "_Pora(-os):"
+msgid "_Test Pair(s):"
+msgstr "Kriterijaus _pora(-os):"
#: src/ui/gui/psppire.ui:7
msgid "Weight Cases"
msgid "Name Variable:"
msgstr "Vardų kintamasis:"
-#: src/ui/gui/psppire.ui:282 src/ui/gui/rank.ui:105
+#: src/ui/gui/psppire.ui:282
msgid "Variable(s):"
msgstr "Kintamasis(-ieji):"
msgstr "Ranguoti atvejus"
#: src/ui/gui/rank.ui:58
-msgid "By:"
-msgstr "Pagal:"
+msgid "_By:"
+msgstr "_Pagal:"
-#: src/ui/gui/rank.ui:204
+#: src/ui/gui/rank.ui:208
msgid "_Smallest Value"
msgstr "_Mažiausia reikšmė"
-#: src/ui/gui/rank.ui:221
+#: src/ui/gui/rank.ui:225
msgid "_Largest Value"
msgstr "_Didžiausia reikšmė"
-#: src/ui/gui/rank.ui:245
+#: src/ui/gui/rank.ui:249
msgid "Assign rank 1 to:"
msgstr "Pirmą rangą priskirti:"
-#: src/ui/gui/rank.ui:261
+#: src/ui/gui/rank.ui:265
msgid "_Display summary tables"
msgstr "Rodyti _santraukos lenteles"
-#: src/ui/gui/rank.ui:279
+#: src/ui/gui/rank.ui:283
msgid "Rank T_ypes"
msgstr "Rangų _tipai"
-#: src/ui/gui/rank.ui:294
+#: src/ui/gui/rank.ui:298
msgid "_Ties..."
msgstr "_Ryšiai"
-#: src/ui/gui/rank.ui:346
+#: src/ui/gui/rank.ui:350
msgid "Rank Cases: Types"
msgstr "Ranguoti atvejus: tipai"
-#: src/ui/gui/rank.ui:366
-msgid "Sum of case weights"
-msgstr "Kintamųjų svorių suma"
+#: src/ui/gui/rank.ui:371
+msgid "Sum of case _weights"
+msgstr "Kintamųjų s_vorių suma"
-#: src/ui/gui/rank.ui:382
-msgid "Fractional rank as %"
-msgstr "Santykinis rangas procentais"
+#: src/ui/gui/rank.ui:388
+msgid "Fractional rank as _%"
+msgstr "Santykinis rangas p_rocentais"
-#: src/ui/gui/rank.ui:396
-msgid "Fractional rank"
-msgstr "Santykinis rangas"
+#: src/ui/gui/rank.ui:403
+msgid "_Fractional rank"
+msgstr "_Santykinis rangas"
-#: src/ui/gui/rank.ui:410
-msgid "Savage score"
-msgstr "Savage taškas"
+#: src/ui/gui/rank.ui:418
+msgid "_Savage score"
+msgstr "_Savage taškas"
-#: src/ui/gui/rank.ui:424
-msgid "Rank"
-msgstr "Rangas"
+#: src/ui/gui/rank.ui:433
+msgid "_Rank"
+msgstr "_Rangas"
-#: src/ui/gui/rank.ui:438
-msgid "Ntiles"
-msgstr "N- procentilės"
+#: src/ui/gui/rank.ui:448
+msgid "N_tiles"
+msgstr "_N- procentilės"
-#: src/ui/gui/rank.ui:481
-msgid "Proportion Estimates"
-msgstr "Dalies įverčiai"
+#: src/ui/gui/rank.ui:492
+msgid "_Proportion Estimates"
+msgstr "_Dalies įverčiai"
-#: src/ui/gui/rank.ui:494
-msgid "Normal Scores"
-msgstr "Normalieji taškai"
+#: src/ui/gui/rank.ui:506
+msgid "_Normal Scores"
+msgstr "_Normalieji taškai"
-#: src/ui/gui/rank.ui:529
-msgid "Blom"
-msgstr "Blom"
-
-#: src/ui/gui/rank.ui:543
-msgid "Tukey"
-msgstr "Tukey"
+#: src/ui/gui/rank.ui:542
+msgid "_Blom"
+msgstr "_Blom"
#: src/ui/gui/rank.ui:557
-msgid "Rankit"
-msgstr "Rankit"
+msgid "Tuke_y"
+msgstr "_Tukey"
+
+#: src/ui/gui/rank.ui:572
+msgid "Ran_kit"
+msgstr ""
-#: src/ui/gui/rank.ui:571
-msgid "Van der Wärden"
-msgstr "Van der Wärden"
+#: src/ui/gui/rank.ui:587
+msgid "_Van der Waerden"
+msgstr "_Van der Wärden"
-#: src/ui/gui/rank.ui:591
+#: src/ui/gui/rank.ui:608
msgid "Proportion Estimation Formula"
msgstr "Dalies įverčių formulė"
-#: src/ui/gui/rank.ui:625
+#: src/ui/gui/rank.ui:642
msgid "Rank Cases: Ties"
msgstr "Ranguoti atvejus: ryšiai"
-#: src/ui/gui/rank.ui:651
+#: src/ui/gui/rank.ui:668
msgid "_Mean"
msgstr "_Vidurkis"
-#: src/ui/gui/rank.ui:668
+#: src/ui/gui/rank.ui:685
msgid "_Low"
msgstr "_Mažiausiasis"
-#: src/ui/gui/rank.ui:686
+#: src/ui/gui/rank.ui:703
msgid "_High"
msgstr "_Didžiausiasis"
-#: src/ui/gui/rank.ui:709
+#: src/ui/gui/rank.ui:726
msgid "_Sequential ranks to unique values"
msgstr "_Nuosekliai didėjantys rangai (didžiausias rangas lygus skirtingų reikšmių skaičiui)"
-#: src/ui/gui/rank.ui:732
+#: src/ui/gui/rank.ui:749
msgid "Rank Assigned to Ties"
msgstr "Rangas, priskiriamas esant vienodoms reikšmėms, yra rangų:"
msgid "Split File"
msgstr "Skaidyti rinkmeną"
-#: src/ui/gui/split-file.ui:68
-msgid "Analyze all cases. Do not create groups."
-msgstr "Analizuoti visus atvejus. Nekuti grupių."
+#: src/ui/gui/split-file.ui:69
+msgid "Anal_yze all cases. Do not create groups."
+msgstr "Anali_zuoti visus atvejus. Nekurti grupių."
-#: src/ui/gui/split-file.ui:84
-msgid "Compare groups."
-msgstr "Palyginti grupes."
+#: src/ui/gui/split-file.ui:86
+msgid "Compare _groups."
+msgstr "Pa_lyginti grupes."
-#: src/ui/gui/split-file.ui:100
-msgid "Organize output by groups."
-msgstr "Rezultatus pateikti pagal grupes."
+#: src/ui/gui/split-file.ui:104
+msgid "Organize ou_tput by groups."
+msgstr "Rezultatus pateikti pagal g_rupes."
-#: src/ui/gui/split-file.ui:158
-msgid "Groups based on:"
-msgstr "Grupuoti pagal:"
+#: src/ui/gui/split-file.ui:188
+msgid "Groups _based on:"
+msgstr "_Grupuoti pagal:"
-#: src/ui/gui/split-file.ui:217
-msgid "Sort the file by grouping variables."
-msgstr "Rinkmeną rikiuoti pagal grupavimo kintamąjį"
+#: src/ui/gui/split-file.ui:213
+msgid "_Sort the file by grouping variables."
+msgstr "Rinkmeną rikiuoti pagal grupa_vimo kintamąjį"
-#: src/ui/gui/split-file.ui:234
-msgid "File is already sorted."
-msgstr "Rinkmena jau surikiuota."
+#: src/ui/gui/split-file.ui:230
+msgid "_File is already sorted."
+msgstr "Rink_mena jau surikiuota."
-#: src/ui/gui/split-file.ui:287
+#: src/ui/gui/split-file.ui:283
msgid "Current Status : "
msgstr "Dabartinė būsena: "
-#: src/ui/gui/split-file.ui:298
+#: src/ui/gui/split-file.ui:294
msgid "Analysis by groups is off"
msgstr "Analizė pagal grupes yra išjungta"
msgid "Old Value"
msgstr "Sena reikšmė"
-#: src/ui/gui/recode.ui:111
-msgid "Copy old values"
-msgstr "Kopijuoti senas reikšmes"
+#: src/ui/gui/recode.ui:97
+msgid "System _Missing"
+msgstr "_Sisteminė praleista"
+
+#: src/ui/gui/recode.ui:113
+msgid "Co_py old values"
+msgstr "_Kopijuoti senas reikšmes"
-#: src/ui/gui/recode.ui:135
-msgid "Value: "
-msgstr "Reikšmė: "
+#: src/ui/gui/recode.ui:139
+msgid "Va_lue: "
+msgstr "Reikš_mė: "
-#: src/ui/gui/recode.ui:168
+#: src/ui/gui/recode.ui:174
msgid "New Value"
msgstr "Nauja reikšmė"
-#: src/ui/gui/recode.ui:226
-msgid "Convert numeric strings to numbers (`5' -> 5)"
-msgstr "Konvertuoti skaitmenines eilutes į skaičius (`5' -> 5)"
+#: src/ui/gui/recode.ui:232
+msgid "Conver_t numeric strings to numbers (`5' -> 5)"
+msgstr "_Konvertuoti skaitmenines eilutes į skaičius („5“ -> 5)"
-#: src/ui/gui/recode.ui:244
-msgid "Output variables are strings"
-msgstr "Išvedami kintamieji yra teksto eilutės. "
+#: src/ui/gui/recode.ui:252
+msgid "Output variables are _strings"
+msgstr "Išvedami kintamieji yra _teksto eilutės. "
-#: src/ui/gui/recode.ui:259
+#: src/ui/gui/recode.ui:269
msgid "Width: "
msgstr "Plotis: "
-#: src/ui/gui/recode.ui:387
+#: src/ui/gui/recode.ui:398
msgid "(optional case selection condition)"
msgstr "(atvejų atrankos sąlyga, nebūtina)"
-#: src/ui/gui/recode.ui:468
-msgid "Name:"
-msgstr "Vardas:"
+#: src/ui/gui/recode.ui:479
+msgid "_Name:"
+msgstr "_Vardas:"
-#: src/ui/gui/recode.ui:511
-msgid "Change"
-msgstr "Pakeisti"
+#: src/ui/gui/recode.ui:502
+msgid "La_bel:"
+msgstr "_Etiketė:"
-#: src/ui/gui/recode.ui:537
+#: src/ui/gui/recode.ui:526
+msgid "Chan_ge"
+msgstr "Pa_keisti"
+
+#: src/ui/gui/recode.ui:553
msgid "Output Variable"
msgstr "Išvedamas kintamasis"
-#: src/ui/gui/recode.ui:611
-msgid "Old and New Values"
-msgstr "Senos ir naujos reikšmės"
+#: src/ui/gui/recode.ui:629
+msgid "Old and New Va_lues..."
+msgstr "Senos ir naujos reikš_mės"
#: src/ui/gui/regression.ui:32
msgid "S_tatistics..."
msgstr "S_tatistika..."
-#: src/ui/gui/regression.ui:47
-msgid "_Save..."
-msgstr "Į_rašyti..."
-
-#: src/ui/gui/regression.ui:165
-msgid "_Dependent"
-msgstr "_Priklausomas"
-
-#: src/ui/gui/regression.ui:213
-msgid "_Independent"
-msgstr "_Nepriklausomas"
-
#: src/ui/gui/regression.ui:252
msgid "Regression: Save"
msgstr "Regresija: įrašyti"
msgid "_Value of state variable:"
msgstr "Būsenos kintamojo _reikšmė:"
-#: src/ui/gui/roc.ui:211
+#: src/ui/gui/roc.ui:210
msgid "ROC C_urve"
msgstr "Operatoria_us charakteringa kreivė"
-#: src/ui/gui/roc.ui:229
+#: src/ui/gui/roc.ui:228
msgid "_With diagonal reference line"
msgstr "_Brėžti įstrižainę"
-#: src/ui/gui/roc.ui:253
+#: src/ui/gui/roc.ui:252
msgid "Standard _Error and Confidence Interval"
msgstr "_Standartinė paklaida ir pasikliautinasis intervalas"
-#: src/ui/gui/roc.ui:268
+#: src/ui/gui/roc.ui:267
msgid "_Coordinate points of the ROC Curve"
msgstr "O_ChK koordinačių taškų lentelė"
msgid "If condition is satisfied"
msgstr "Jeigu tenkinama sąlyga"
+#: src/ui/gui/select-cases.ui:378
+msgid "If..."
+msgstr "Jeigu..."
+
#: src/ui/gui/select-cases.ui:418
msgid "All Cases"
msgstr "Visi atvejai"
msgstr "Imties dydis"
#: src/ui/gui/t-test.ui:8
-msgid "Independent-Samples T Test"
-msgstr "T kriterijus nepriklausomoms imtims"
-
-#: src/ui/gui/t-test.ui:54 src/ui/gui/t-test.ui:175 src/ui/gui/t-test.ui:231
-msgid "Define Groups"
-msgstr "Apibrėžti grupes"
-
-#: src/ui/gui/t-test.ui:131 src/ui/gui/t-test.ui:588
-msgid "Test Variable(s):"
-msgstr "Kriterijaus kintamasis(-ieji):"
-
-#: src/ui/gui/t-test.ui:271
-msgid "Group_2 value:"
-msgstr "_2 grupės reikšmė:"
-
-#: src/ui/gui/t-test.ui:285
-msgid "Group_1 value:"
-msgstr "_1 grupės reikšmė:"
-
-#: src/ui/gui/t-test.ui:368
-msgid "_Use specified values:"
-msgstr "_Naudoti nurodytas reikšmes:"
-
-#: src/ui/gui/t-test.ui:424
msgid "Options"
msgstr "Parinktys"
-#: src/ui/gui/t-test.ui:456
+#: src/ui/gui/t-test.ui:40
msgid "Exclude cases _analysis by analysis"
msgstr "Neįtraukiamos konkrečioje _analizėje"
-#: src/ui/gui/t-test.ui:473
-msgid "Exclude cases _listwise"
-msgstr "Atvejai neįtraukiami _visose analizėse"
-
-#: src/ui/gui/t-test.ui:533
+#: src/ui/gui/t-test.ui:117
msgid "One - Sample T Test"
msgstr "T kriterijus vienai imčiai"
-#: src/ui/gui/t-test.ui:630
+#: src/ui/gui/t-test.ui:216
msgid "Test _Value: "
msgstr "Kriterijaus _reikšmė: "
msgid "Univariate: Statistics"
msgstr "Vienmatė dispersinė analizė: statistika"
-#: src/ui/gui/var-sheet-dialogs.ui:7
-msgid "Variable Type"
-msgstr "Kintamojo tipas"
-
-#: src/ui/gui/var-sheet-dialogs.ui:75
-msgid "Scientific notation"
-msgstr "Mokslinis užrašas"
-
-#: src/ui/gui/var-sheet-dialogs.ui:123
-msgid "Custom currency"
-msgstr "Savita valiuta"
-
-#: src/ui/gui/var-sheet-dialogs.ui:225
-msgid "positive"
-msgstr "teigiamas"
-
-#: src/ui/gui/var-sheet-dialogs.ui:234
-msgid "negative"
-msgstr "neigiamas"
-
-#: src/ui/gui/var-sheet-dialogs.ui:247
-msgid "Sample"
-msgstr "Imtis"
-
-#: src/ui/gui/var-sheet-dialogs.ui:294
-msgid "Width:"
-msgstr "Plotis:"
-
-#: src/ui/gui/var-sheet-dialogs.ui:339
-msgid "Decimal Places:"
-msgstr "Dešimtainė skiltis:"
-
-#: src/ui/gui/var-sheet-dialogs.ui:419 src/ui/gui/var-sheet-dialogs.ui:610
-msgid "Value Labels"
-msgstr "Reikšmių etiketės"
-
-#: src/ui/gui/var-sheet-dialogs.ui:516
+#: src/ui/gui/val-labs-dialog.ui:96
msgid "Value Label:"
msgstr "Reikšmės etiketė:"
-#: src/ui/gui/var-sheet-dialogs.ui:712
-msgid "_No missing values"
-msgstr "_Nėra praleistų reikšmių"
-
-#: src/ui/gui/var-sheet-dialogs.ui:783
-msgid "_Discrete missing values"
-msgstr "_Diskrečios praleistos reikšmės"
-
-#: src/ui/gui/var-sheet-dialogs.ui:817
-msgid "_Low:"
-msgstr "_Apačia:"
-
-#: src/ui/gui/var-sheet-dialogs.ui:836
-msgid "_High:"
-msgstr "_Viršus:"
-
-#: src/ui/gui/var-sheet-dialogs.ui:861
-msgid "Di_screte value:"
-msgstr "Di_skreti reikšmė:"
-
-#: src/ui/gui/var-sheet-dialogs.ui:889
-msgid "_Range plus one optional discrete missing value"
-msgstr "_Sritis ir viena diskreti praleista reikšmė"
+#: src/ui/gui/val-labs-dialog.ui:190
+msgid "Value Labels"
+msgstr "Reikšmių etiketės"
#: src/ui/gui/variable-info.ui:50
msgid "Variable Information:"
msgstr "_Atverti..."
#: src/ui/gui/data-editor.ui:54
-msgid "_Import Delimited Text Data..."
-msgstr "_Importuoti tekstinius duomenis..."
+msgid "I_mport Data..."
+msgstr "_Importuoti duomenis..."
#: src/ui/gui/data-editor.ui:61
msgid "_Rename Dataset..."
msgid "Cou_nt..."
msgstr "_Suskaičiuoti reikšmių pasikartojimą..."
-#: src/ui/gui/data-editor.ui:307
+#: src/ui/gui/data-editor.ui:308
msgid "Ran_k Cases..."
msgstr "_Ranguoti atvejus..."
-#: src/ui/gui/data-editor.ui:313
+#: src/ui/gui/data-editor.ui:314
msgid "Auto_matic Recode..."
msgstr "Auto_matiškai perkoduoti..."
-#: src/ui/gui/data-editor.ui:319
+#: src/ui/gui/data-editor.ui:320
msgid "Recode into _Same Variables..."
msgstr "Perkoduoti į _tuos pačius kintamuosius..."
-#: src/ui/gui/data-editor.ui:325
+#: src/ui/gui/data-editor.ui:326
msgid "Recode into _Different Variables..."
msgstr "Perkoduoti į _kitus kintamuosius..."
-#: src/ui/gui/data-editor.ui:331
+#: src/ui/gui/data-editor.ui:332
msgid "_Run Pending Transforms"
msgstr "_Vykdyti laukiančias transformacijas"
-#: src/ui/gui/data-editor.ui:338
+#: src/ui/gui/data-editor.ui:339
msgid "_Analyze"
msgstr "_Analizuoti"
-#: src/ui/gui/data-editor.ui:344
+#: src/ui/gui/data-editor.ui:345
msgid "_Descriptive Statistics"
msgstr "_Aprašomoji statistika"
-#: src/ui/gui/data-editor.ui:350
+#: src/ui/gui/data-editor.ui:352
msgid "_Frequencies..."
msgstr "_Dažniai..."
-#: src/ui/gui/data-editor.ui:363
+#: src/ui/gui/data-editor.ui:366
msgid "_Explore..."
msgstr "_Tyrinėti..."
-#: src/ui/gui/data-editor.ui:369
+#: src/ui/gui/data-editor.ui:373
msgid "_Crosstabs..."
msgstr "_Požymių priklausomumo lentelės..."
-#: src/ui/gui/data-editor.ui:375
+#: src/ui/gui/data-editor.ui:379
msgid "Compare _Means"
msgstr "Palyginti _vidurkius"
-#: src/ui/gui/data-editor.ui:381
+#: src/ui/gui/data-editor.ui:386
+msgid "_Means..."
+msgstr "_Vidurkiai..."
+
+#: src/ui/gui/data-editor.ui:392
msgid "_One Sample T Test..."
msgstr "T kriterijus _vienai imčiai..."
-#: src/ui/gui/data-editor.ui:387
+#: src/ui/gui/data-editor.ui:399
msgid "_Independent Samples T Test..."
msgstr "T kriterijus _nepriklausomoms imtims..."
-#: src/ui/gui/data-editor.ui:393
+#: src/ui/gui/data-editor.ui:405
msgid "_Paired Samples T Test..."
msgstr "_T kriterijus porinėms imtims..."
-#: src/ui/gui/data-editor.ui:399
+#: src/ui/gui/data-editor.ui:411
msgid "One Way _ANOVA..."
msgstr "Vienfaktorinė _ANOVA..."
-#: src/ui/gui/data-editor.ui:405
+#: src/ui/gui/data-editor.ui:417
msgid "_Univariate Analysis..."
msgstr "_Vienmatė dispersinė analizė..."
-#: src/ui/gui/data-editor.ui:413
+#: src/ui/gui/data-editor.ui:425
msgid "Bivariate _Correlation..."
msgstr "_Dviejų kintamųjų koreliacija..."
-#: src/ui/gui/data-editor.ui:420
+#: src/ui/gui/data-editor.ui:432
msgid "_K-Means Cluster..."
msgstr "K-vidurkių _reikšm. klaster. analizė..."
-#: src/ui/gui/data-editor.ui:426
+#: src/ui/gui/data-editor.ui:439
msgid "Factor _Analysis..."
msgstr "_Faktorinė analizė..."
-#: src/ui/gui/data-editor.ui:433
+#: src/ui/gui/data-editor.ui:446
msgid "Re_liability..."
msgstr "_Klausimynų patikimumas..."
-#: src/ui/gui/data-editor.ui:439
-msgid "Linear _Regression..."
-msgstr "_Tiesinė regresija..."
+#: src/ui/gui/data-editor.ui:452
+msgid "_Regression"
+msgstr "_Regresija"
+
+#: src/ui/gui/data-editor.ui:459
+msgid "_Linear..."
+msgstr "_Tiesienė regresija..."
+
+#: src/ui/gui/data-editor.ui:466
+msgid "_Binary Logistic..."
+msgstr "_Dvireikšmė logistinė regresija..."
-#: src/ui/gui/data-editor.ui:445
+#: src/ui/gui/data-editor.ui:472
msgid "_Non-Parametric Statistics"
msgstr "_Neparametrinė statistika"
-#: src/ui/gui/data-editor.ui:451
+#: src/ui/gui/data-editor.ui:478
msgid "_Chi-Square..."
msgstr "_Chi-kvadratas..."
-#: src/ui/gui/data-editor.ui:457
+#: src/ui/gui/data-editor.ui:485
msgid "_Binomial..."
msgstr "_Binominis..."
-#: src/ui/gui/data-editor.ui:463
+#: src/ui/gui/data-editor.ui:491
msgid "R_uns..."
msgstr "_Serijų kriterijus..."
-#: src/ui/gui/data-editor.ui:469
+#: src/ui/gui/data-editor.ui:497
msgid "1-Sample _K-S..."
msgstr "K-S kriterijus 1 imčiai..."
-#: src/ui/gui/data-editor.ui:475
+#: src/ui/gui/data-editor.ui:503
msgid "2 _Related Samples..."
msgstr "2 p_riklausomos imtys..."
-#: src/ui/gui/data-editor.ui:481
+#: src/ui/gui/data-editor.ui:509
msgid "K Related _Samples..."
msgstr "_K priklausomų imčių..."
-#: src/ui/gui/data-editor.ui:488
+#: src/ui/gui/data-editor.ui:516
msgid "ROC Cur_ve..."
msgstr "_Operatoriaus charakteringa kreivė..."
-#: src/ui/gui/data-editor.ui:494
+#: src/ui/gui/data-editor.ui:522
msgid "_Utilities"
msgstr "Įra_nkiai"
-#: src/ui/gui/data-editor.ui:501
+#: src/ui/gui/data-editor.ui:529
msgid "_Variables..."
msgstr "_Kintamieji..."
-#: src/ui/gui/data-editor.ui:502
+#: src/ui/gui/data-editor.ui:530
msgid "Jump to variable"
msgstr "Šokti į kintamąjį"
-#: src/ui/gui/data-editor.ui:509
+#: src/ui/gui/data-editor.ui:537
msgid "Data File _Comments..."
msgstr "Duomenų rinkmenos _komentarai..."
-#: src/ui/gui/data-editor.ui:515 src/ui/gui/output-viewer.ui:47
+#: src/ui/gui/data-editor.ui:543 src/ui/gui/output-viewer.ui:47
#: src/ui/gui/syntax-editor.ui:143
msgid "_Windows"
msgstr "_Langas"
-#: src/ui/gui/data-editor.ui:521 src/ui/gui/output-viewer.ui:53
+#: src/ui/gui/data-editor.ui:549 src/ui/gui/output-viewer.ui:53
#: src/ui/gui/syntax-editor.ui:149
msgid "_Minimize All Windows"
msgstr "_Suskleisti visus langus"
-#: src/ui/gui/data-editor.ui:527
+#: src/ui/gui/data-editor.ui:555
msgid "_Split"
msgstr "_Skaidyti"
-#: src/ui/gui/data-editor.ui:711
+#: src/ui/gui/data-editor.ui:743
msgid "Information Area"
msgstr "Informacijos sritis"
-#: src/ui/gui/data-editor.ui:733
+#: src/ui/gui/data-editor.ui:765
msgid "Processor Area"
msgstr "Doroklės sritis"
-#: src/ui/gui/data-editor.ui:758
+#: src/ui/gui/data-editor.ui:790
msgid "Case Counter Area"
msgstr "Atvejų skaičiavimo sritis"
-#: src/ui/gui/data-editor.ui:783
+#: src/ui/gui/data-editor.ui:815
msgid "Filter Use Status Area"
msgstr "Filtro naudojimo būsenos sritis"
-#: src/ui/gui/data-editor.ui:809
+#: src/ui/gui/data-editor.ui:841
msgid "Weight Status Area"
msgstr "Svėrimo būsenos sritis"
-#: src/ui/gui/data-editor.ui:835
+#: src/ui/gui/data-editor.ui:867
msgid "Split File Status Area"
msgstr "Rinkmenos skaidymo sritis"
msgid "To End"
msgstr "Iki galo"
-#~ msgid "Jonckheere-Terpstra Test"
-#~ msgstr "Džonkerės-Terpstra kriterijus"
+#: src/ui/gui/var-type-dialog.ui:79
+msgid "Scientific notation"
+msgstr "Mokslinis užrašas"
+
+#: src/ui/gui/var-type-dialog.ui:127
+msgid "Custom currency"
+msgstr "Savita valiuta"
+
+#: src/ui/gui/var-type-dialog.ui:229
+msgid "positive"
+msgstr "teigiamas"
+
+#: src/ui/gui/var-type-dialog.ui:238
+msgid "negative"
+msgstr "neigiamas"
+
+#: src/ui/gui/var-type-dialog.ui:251
+msgid "Sample"
+msgstr "Imtis"
+
+#: src/ui/gui/var-type-dialog.ui:298
+msgid "Width:"
+msgstr "Plotis:"
+
+#: src/ui/gui/var-type-dialog.ui:349
+msgid "Decimal Places:"
+msgstr "Dešimtainė skiltis:"
+
+#: src/ui/gui/gen-dot-desktop.sh:14
+msgid "Statistical Software"
+msgstr "Statistinė programinė įranga"
+
+#: src/ui/gui/gen-dot-desktop.sh:15
+msgid "Analyze statistical data with a free alternative to SPSS"
+msgstr "Statistinių duomenų analizavimas su nemokama SPSS alternatyva"
+
+#~ msgid "Error opening `%s' for reading as a Gnumeric file: %s."
+#~ msgstr "Klaida skaitymui atveriant „%s“ kaip Gnumeric rinkmeną: %s."
+
+#~ msgid "Could not extract OpenDocument spreadsheet from file `%s': %s."
+#~ msgstr "Iš rinkmenos „%s“ nepavyksta ištraukti OpenDocument skaičialentės: %s."
+
+#~ msgid "_Import Delimited Text Data..."
+#~ msgstr "_Importuoti tekstinius duomenis..."
+
+#~ msgid "Unexpected end of file reading %s."
+#~ msgstr "Netikėta skaitomos rinkmenos %s pabaiga."
-#~ msgid "The split point must be less than the number of variables"
-#~ msgstr "Skaidant kintamųjų skaičius pirmoje dalyje negali būti didesnis nei visų kintamųjų skaičius"
+#~ msgid "VAR%05d"
+#~ msgstr "Kint%05d"
-#~ msgid "Scale: %s"
-#~ msgstr "Skalė: %s"
+#~ msgid "_Options"
+#~ msgstr "Pa_rinktys"
-#~ msgid "Layer %d of %d"
-#~ msgstr "%d sluoksnis iš %d"
+#~ msgid "REGRESSION requires numeric variables."
+#~ msgstr "REGRESSION reikalauja skaitmeninių kintamųjų."
-#~ msgid "Means"
-#~ msgstr "Vidurkiai"
+#~ msgid "Dependent List:"
+#~ msgstr "Analizuotini kintamieji:"
-#~ msgid "_Dependent List:"
-#~ msgstr "_Priklausomi kintamieji:"
+#~ msgid "Statistics..."
+#~ msgstr "Statistika..."
-#~ msgid "_Independent List:"
-#~ msgstr "_Nepriklausomi kintamieji:"
+#~ msgid "Exclude cases listwise"
+#~ msgstr "Atvejai neįtraukiami visose analizėse"
-#~ msgid "_Means..."
-#~ msgstr "_Vidurkiai..."
+#~ msgid "By:"
+#~ msgstr "Pagal:"
-#~ msgid "Statistical Software"
-#~ msgstr "Statistinė programinė įranga"
+#~ msgid "Rankit"
+#~ msgstr "Rankit"
-#~ msgid "Analyze statistical data with a free alternative to SPSS"
-#~ msgstr "Statistinių duomenų analizavimas su nemokama SPSS alternatyva"
+#~ msgid "Variable Type"
+#~ msgstr "Kintamojo tipas"
+
+#~ msgid "Linear _Regression..."
+#~ msgstr "_Tiesinė regresija..."
+
+#~ msgid "OK"
+#~ msgstr "Gerai"
+
+#~ msgid "Go To"
+#~ msgstr "Šokti į"
+
+#~ msgid "Cancel"
+#~ msgstr "Atsisakyti"
+
+#~ msgid "Help"
+#~ msgstr "Pagalba"
+
+#~ msgid "Reset"
+#~ msgstr "Atstatyti"
+
+#~ msgid "Paste"
+#~ msgstr "Įdėti"
#~ msgid "%s is allowed only before the active dataset has been defined or inside INPUT PROGRAM."
#~ msgstr "%s leidžiama tik prieš nurodant veikiamąjį duomenų rinkinį arba INPUT PROGRAM viduje."
#~ msgid "_Goto Case"
#~ msgstr "Š_okti į atvejį"
-#~ msgid "_Import Text Data"
-#~ msgstr "_Importuoti tekstinius duomenis"
-
#~ msgid "_Labels"
#~ msgstr "_Etiketės"
+++ /dev/null
-# Auxilliary translation of pspp to Lithuanian
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: pspp-0.7.9\n"
-"Report-Msgid-Bugs-To: pspp-dev@gnu.org\n"
-"POT-Creation-Date: 2012-02-26 16:54+0100\n"
-"PO-Revision-Date: 2011-07-20 21:10+0300\n"
-"Last-Translator: Mindaugas Baranauskas <embar@users.berlios.de>\n"
-"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
-"Language: lt\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 1.2\n"
-"Plural-Forms: nplurals=4; plural=(n%10==1 ? 0 : n%10==1 && n%100!=11 ? 1 : n"
-"%10>=2 && (n%100<10 || n%100>=20) ? 2 : 3);\n"
-
-#: src/ui/gui/gen-dot-desktop.sh:12
-msgid "Statistical Software"
-msgstr "Statistinė programinė įranga"
-
-#: src/ui/gui/gen-dot-desktop.sh:21
-msgid "Analyze statistical data with a free alternative to SPSS"
-msgstr "Statistinių duomenų analizavimas su nemokama SPSS alternatyva"
-# translation of pspp-0.7.8.po to Dutch
-# Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+# translation of pspp-0.7.10.po to Dutch
+# Copyright (C) 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
# This file is distributed under the same licence as the PSPP package.
#
# Vertaalde woorden:
# Window = venster
# Weighting = Weging
#
-# filename: pspp-0.7.9.nl.po
-# Harry Thijssen <pspp@sjpaes.nl>, 2009, 2010, 2011, 2012.
+# filename: pspp-0.7.10.nl.po
+# Harry Thijssen <pspp@sjpaes.nl>, 2009, 2010, 2011, 2012, 2013.
msgid ""
msgstr ""
-"Project-Id-Version: pspp-0.7.9\n"
+"Project-Id-Version: pspp-0.7.10\n"
"Report-Msgid-Bugs-To: pspp-dev@gnu.org\n"
-"POT-Creation-Date: 2012-02-03 19:12-0800\n"
-"PO-Revision-Date: 2012-02-25 17:25+0100\n"
+"POT-Creation-Date: 2013-03-26 21:38-0700\n"
+"PO-Revision-Date: 2013-04-06 17:25+0100\n"
"Last-Translator: Harry Thijssen <pspp@sjpaes.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1\n"
-#: src/ui/gui/helper.c:153
+#: src/ui/gui/helper.c:204
msgid "Sorry. The help system hasn't yet been implemented."
msgstr "Sorry. Het hulp systeem is nog niet geïmplementeerd. "
-#: src/ui/gui/psppire-buttonbox.c:329 src/ui/gui/psppire-buttonbox.c:487
+#: src/ui/gui/psppire-buttonbox.c:342
msgid "Continue"
msgstr "Verder"
-#: src/ui/gui/psppire-buttonbox.c:485
-msgid "OK"
-msgstr "OK"
-
-#: src/ui/gui/psppire-buttonbox.c:486
-msgid "Go To"
-msgstr "Ga naar"
-
-#: src/ui/gui/psppire-buttonbox.c:488
-msgid "Cancel"
-msgstr "Afbreken"
-
-#: src/ui/gui/psppire-buttonbox.c:489
-msgid "Help"
-msgstr "Help"
-
-#: src/ui/gui/psppire-buttonbox.c:490
-msgid "Reset"
-msgstr "Herstel"
-
-#: src/ui/gui/psppire-buttonbox.c:491
-msgid "Paste"
-msgstr "Plak"
-
#: src/ui/gui/psppire-dictview.c:466 src/language/dictionary/split-file.c:82
#: src/language/dictionary/sys-file-info.c:148
-#: src/language/dictionary/sys-file-info.c:331
-#: src/language/dictionary/sys-file-info.c:645
-#: src/language/stats/descriptives.c:895
-#: src/language/data-io/data-parser.c:683
-#: src/language/data-io/data-parser.c:722 src/language/data-io/print.c:403
+#: src/language/dictionary/sys-file-info.c:332
+#: src/language/dictionary/sys-file-info.c:650
+#: src/language/stats/descriptives.c:970
+#: src/language/data-io/data-parser.c:691
+#: src/language/data-io/data-parser.c:730 src/language/data-io/print.c:446
msgid "Variable"
msgstr "Variabele"
msgid "Prefer variable labels"
msgstr "Prefereer variable labels"
-#: src/ui/gui/psppire-var-view.c:192
+#: src/ui/gui/psppire-var-view.c:202
#, c-format
msgid "Var%d"
msgstr "Var%d"
msgid "An error occurred while opening `%s': %s."
msgstr "Fout opgetreden bij openen van '%s': %s."
-#: src/data/any-reader.c:105
+#: src/data/any-reader.c:111
#, c-format
msgid "`%s' is not a system or portable file."
msgstr "'%s' is geen systeem of overdraagbaar bestand."
-#: src/data/any-reader.c:111 src/data/any-writer.c:67
+#: src/data/any-reader.c:117 src/data/any-writer.c:67
msgid "The inline file is not allowed here."
msgstr "Het inline-bestand is hier niet toegestaan."
msgid "CSV file"
msgstr "CSV bestand"
-#: src/data/csv-file-writer.c:161 src/data/sys-file-writer.c:225
+#: src/data/csv-file-writer.c:161 src/data/sys-file-writer.c:227
#, 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 systeembestand: %s."
-#: src/data/csv-file-writer.c:462
+#: src/data/csv-file-writer.c:460
#, c-format
msgid "An I/O error occurred writing CSV file `%s'."
msgstr "Een I/O fout is opgetreden tijdens het schrijven van systeembestand '%s'."
msgid "Data is not valid as format %s: %s"
msgstr "Data is niet geldig als opmaak %s: %s"
-#: src/data/data-in.c:376 src/data/data-in.c:552
+#: src/data/data-in.c:373 src/data/data-in.c:549
msgid "Field contents are not numeric."
msgstr "Veldinhoud is niet numeriek."
-#: src/data/data-in.c:378 src/data/data-in.c:554
+#: src/data/data-in.c:375 src/data/data-in.c:551
msgid "Number followed by garbage."
msgstr "Nummer gevolgd door rommel."
-#: src/data/data-in.c:391
+#: src/data/data-in.c:388
msgid "Invalid numeric syntax."
msgstr "Ongeldige numerieke syntax."
-#: src/data/data-in.c:399 src/data/data-in.c:570
+#: src/data/data-in.c:396 src/data/data-in.c:567
msgid "Too-large number set to system-missing."
msgstr "Te groot getal, is op system-missing gezet."
-#: src/data/data-in.c:405 src/data/data-in.c:576
+#: src/data/data-in.c:402 src/data/data-in.c:573
msgid "Too-small number set to zero."
msgstr "Te klein getal, is op nul gezet."
-#: src/data/data-in.c:425
+#: src/data/data-in.c:422
msgid "All characters in field must be digits."
msgstr "Alle tekens in veld moeten cijfers zijn."
-#: src/data/data-in.c:444
+#: src/data/data-in.c:441
msgid "Unrecognized character in field."
msgstr "Niet herkenbaar teken in veld."
-#: src/data/data-in.c:465 src/data/data-in.c:728
+#: src/data/data-in.c:462 src/data/data-in.c:725
msgid "Field must have even length."
msgstr "Veld moet een even lengte hebben."
-#: src/data/data-in.c:467 src/data/data-in.c:731
+#: src/data/data-in.c:464 src/data/data-in.c:728
msgid "Field must contain only hex digits."
msgstr "Veld mag alleen hexadecimale cijfers bevatten."
-#: src/data/data-in.c:543
+#: src/data/data-in.c:540
msgid "Invalid zoned decimal syntax."
msgstr ""
-#: src/data/data-in.c:643 src/data/data-in.c:649
+#: src/data/data-in.c:640 src/data/data-in.c:646
msgid "Invalid syntax for P field."
msgstr "Ongeldige syntax voor P veld."
-#: src/data/data-in.c:767 src/data/data-in.c:813
+#: src/data/data-in.c:764 src/data/data-in.c:810
msgid "Syntax error in date field."
msgstr "Syntaxfout in datumveld."
-#: src/data/data-in.c:782
+#: src/data/data-in.c:779
#, c-format
msgid "Day (%ld) must be between 1 and 31."
msgstr "Dag (%ld) moet tussen 1 en 31 liggen."
-#: src/data/data-in.c:827
+#: src/data/data-in.c:824
msgid "Delimiter expected between fields in date."
msgstr "Veldscheider verwacht tussen velden in datum."
-#: src/data/data-in.c:901
+#: src/data/data-in.c:898
msgid "Unrecognized month format. Months may be specified as Arabic or Roman numerals or as at least 3 letters of their English names."
msgstr "Niet-herkende maand opmaak. Maanden mogen gespecificeerd zijn als Arabisch of Romeins numeriek of als tenminste de eerste 3 letters van hun Engelse naam."
-#: src/data/data-in.c:928
+#: src/data/data-in.c:925
#, c-format
msgid "Year (%ld) must be between 1582 and 19999."
msgstr "Jaar (%ld) moet tussen 1582 en 19999 liggen."
-#: src/data/data-in.c:939
+#: src/data/data-in.c:936
#, c-format
msgid "Trailing garbage `%.*s' following date."
msgstr "Afsluitende rommel '%.*s' achter datum."
-#: src/data/data-in.c:953
+#: src/data/data-in.c:950
msgid "Julian day must have exactly three digits."
msgstr "Juliaanse datum moet bestaan uit precies 3 cijfers."
-#: src/data/data-in.c:955
+#: src/data/data-in.c:952
#, 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:979
+#: src/data/data-in.c:976
#, 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:1000
+#: src/data/data-in.c:997
#, 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:1012
+#: src/data/data-in.c:1009
msgid "Delimiter expected between fields in time."
msgstr "Veldscheider verwacht tussen velden in tijd."
-#: src/data/data-in.c:1032
+#: src/data/data-in.c:1029
#, 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:1070
+#: src/data/data-in.c:1067
msgid "Unrecognized weekday name. At least the first two letters of an English weekday name must be specified."
msgstr "Niet-herkende weekdagnaam. Tenminste de eerste 2 letters van een Engelse weekdagnaam moeten opgegeven worden."
-#: src/data/data-in.c:1196
+#: src/data/data-in.c:1197
#, c-format
msgid "`%c' expected in date field."
msgstr "'%c' verwacht in datumveld."
-#: src/data/data-out.c:546
+#: src/data/data-out.c:544
#, c-format
msgid "Weekday number %f is not between 1 and 7."
msgstr "Weekdagnummer %f ligt niet tussen 1 en 7."
-#: src/data/data-out.c:571
+#: src/data/data-out.c:569
#, c-format
msgid "Month number %f is not between 1 and 12."
msgstr "Maandnummer %f is niet tussen 1 en 12."
#. TRANSLATORS: this fragment will be interpolated into
#. messages in fh_lock() that identify types of files.
-#: src/data/dataset-writer.c:66 src/language/data-io/file-handle.q:187
+#: src/data/dataset-writer.c:66 src/language/data-io/file-handle.q:198
msgid "dataset"
msgstr "dataset"
msgid "scratch"
msgstr "scratch"
-#: src/data/dictionary.c:1004
+#: src/data/dictionary.c:1005
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 "Op zijn minst een case in het gegevensbestand heeft een gewichtwaarde user-missing, system-missing, nul, of negatief. Deze case(s) zijn genegeerd."
-#: src/data/dictionary.c:1330
+#: src/data/dictionary.c:1334
#, c-format
msgid "Truncating document line to %d bytes."
msgstr "Documentregel afgekapt tot %d bytes."
-#: src/data/file-handle-def.c:254
+#: src/data/file-handle-def.c:257
msgid "active dataset"
msgstr "actieve dataset"
-#: src/data/file-handle-def.c:465
+#: src/data/file-handle-def.c:482
#, c-format
msgid "Can't read from %s as a %s because it is already being read as a %s."
msgstr "Kan niet lezen van %s als een %s omdat het al gelezen wordt als een %s."
-#: src/data/file-handle-def.c:469
+#: src/data/file-handle-def.c:486
#, c-format
msgid "Can't write to %s as a %s because it is already being written as a %s."
msgstr "Kan niet schrijven naar %s als een %s omdat het al geschreven wordt als een %s."
-#: src/data/file-handle-def.c:476
+#: src/data/file-handle-def.c:493
#, c-format
msgid "Can't re-open %s as a %s."
msgstr "Kan %s niet heropenen als een %s."
msgid "Not opening pipe file `%s' because SAFER option set."
msgstr "Pijpbestand '%s' wordt niet geopend omdat de SAFER optie is gezet."
-#: src/data/format.c:320
+#: src/data/format.c:329
msgid "Input format"
msgstr "Invoerindeling"
-#: src/data/format.c:320
+#: src/data/format.c:329
msgid "Output format"
msgstr "Uitvoerindeling"
-#: src/data/format.c:329
+#: src/data/format.c:332
#, c-format
msgid "Format %s may not be used for input."
msgstr "Indeling %s mag niet gebruikt worden voor invoer."
-#: src/data/format.c:336
+#: src/data/format.c:339
#, c-format
msgid "%s specifies width %d, but %s requires an even width."
msgstr "%s specificeert breedte %d, maar %s vereist een even breedte."
-#: src/data/format.c:345
+#: src/data/format.c:348
#, c-format
msgid "%s %s specifies width %d, but %s requires a width between %d and %d."
msgstr "%s %s specificeert breedte %d, maar %s vereist een breedte tussen %d en %d."
-#: src/data/format.c:354
+#: src/data/format.c:357
#, c-format
msgid "%s %s specifies %d decimal place, but %s does not allow any decimals."
msgid_plural "%s %s specifies %d decimal places, but %s does not allow any decimals."
msgstr[0] "%s %s specificeert %d decimaal, maar %s staat geen decimalen toe."
msgstr[1] "%s %s specificeert %d decimalen, maar %s staat geen decimalen toe."
-#: src/data/format.c:365
+#: src/data/format.c:368
#, c-format
msgid "%s %s specifies %d decimal place, but the given width allows at most %d decimals."
msgid_plural "%s %s specifies %d decimal places, but the given width allows at most %d decimals."
msgstr[0] "%s %s specificeert %d decimaal, maar de opgegeven breedte staat maximaal %d decimalen toe."
msgstr[1] "%s %s specificeert %d decimalen, maar de opgegeven breedte staat maximaal %d decimalen toe."
-#: src/data/format.c:372
+#: src/data/format.c:375
#, c-format
msgid "%s %s specifies %d decimal place, but the given width does not allow for any decimals."
msgid_plural "%s %s specifies %d decimal places, but the given width does not allow for any decimals."
msgstr[0] "%s %s specificeert %d decimaal, maar de opgegeven breedte staat geen decimalen toe."
msgstr[1] "%s %s specificeert %d decimalen, maar de opgegeven breedte staat geen decimalen toe."
-#: src/data/format.c:411
+#: src/data/format.c:414
#, c-format
msgid "%s variables are not compatible with %s format %s."
msgstr "%s variabelen zijn niet overeenkomstig met %s opmaak %s."
-#: src/data/format.c:412 src/data/format.c:961 src/ui/gui/compute.ui:503
-#: src/ui/gui/var-sheet-dialogs.ui:139
+#: src/data/format.c:415 src/data/format.c:1006
+#: src/ui/gui/var-type-dialog.ui:143
msgid "String"
msgstr "Tekenreeks"
-#: src/data/format.c:412 src/data/format.c:924 src/ui/gui/compute.ui:584
-#: src/ui/gui/var-sheet-dialogs.ui:27
+#: src/data/format.c:415 src/data/format.c:969
+#: src/ui/gui/var-type-dialog.ui:31
msgid "Numeric"
msgstr "Numeriek"
-#: src/data/format.c:413 src/data/sys-file-reader.c:1674
-#: src/data/sys-file-reader.c:1676 src/language/xforms/recode.c:506
+#: src/data/format.c:416 src/data/sys-file-reader.c:1719
+#: src/data/sys-file-reader.c:1721 src/language/xforms/recode.c:506
#: src/language/xforms/recode.c:507 src/language/xforms/recode.c:519
#: src/language/xforms/recode.c:520
#: src/language/dictionary/apply-dictionary.c:77
msgid "numeric"
msgstr "numeriek"
-#: src/data/format.c:413 src/data/sys-file-reader.c:1674
-#: src/data/sys-file-reader.c:1676 src/language/xforms/recode.c:506
+#: src/data/format.c:416 src/data/sys-file-reader.c:1719
+#: src/data/sys-file-reader.c:1721 src/language/xforms/recode.c:506
#: src/language/xforms/recode.c:507 src/language/xforms/recode.c:519
#: src/language/xforms/recode.c:520
#: src/language/dictionary/apply-dictionary.c:77
msgid "string"
msgstr "tekenreeks"
-#: src/data/format.c:431
+#: src/data/format.c:434
#, c-format
msgid "String variable with width %d is not compatible with format %s."
msgstr "Tekenreeksvariabele met breedte %d is niet overeenkomstig met opmaaak %s."
-#: src/data/format.c:927 src/ui/gui/var-sheet-dialogs.ui:43
+#: src/data/format.c:972 src/ui/gui/var-type-dialog.ui:47
msgid "Comma"
msgstr "Komma"
-#: src/data/format.c:930 src/ui/gui/var-sheet-dialogs.ui:59
+#: src/data/format.c:975 src/ui/gui/var-type-dialog.ui:63
msgid "Dot"
msgstr "Punt"
-#: src/data/format.c:933
+#: src/data/format.c:978
msgid "Scientific"
msgstr "Wetenschappelijk"
-#: src/data/format.c:948 src/ui/gui/var-sheet-dialogs.ui:91
+#: src/data/format.c:993 src/ui/gui/var-type-dialog.ui:95
msgid "Date"
msgstr "Datum"
-#: src/data/format.c:951 src/ui/gui/var-sheet-dialogs.ui:107
+#: src/data/format.c:996 src/ui/gui/var-type-dialog.ui:111
msgid "Dollar"
msgstr "Euro"
-#: src/data/format.c:958
+#: src/data/format.c:1003
msgid "Custom"
msgstr "Aangepast"
-#: src/data/gnumeric-reader.c:35 src/data/ods-reader.c:38
+#: src/data/gnumeric-reader.c:36 src/data/ods-reader.c:41
#, c-format
msgid "Support for %s files was not compiled into this installation of PSPP"
msgstr "Ondersteuning voor %s-bestanden is niet gecompileerd in deze installatie van PSPP"
-#: src/data/gnumeric-reader.c:289
+#: src/data/gnumeric-reader.c:448 src/data/ods-reader.c:538
+#, c-format
+msgid "There was a problem whilst reading the %s file `%s' (near line %d): `%s'"
+msgstr ""
+
+#: src/data/gnumeric-reader.c:536
#, 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."
+msgid "The gnumeric file `%s' is encoded as %s instead of the usual UTF-8 encoding. Any non-ascii characters will be incorrectly imported."
+msgstr ""
-#: src/data/gnumeric-reader.c:309 src/data/ods-reader.c:391
+#: src/data/gnumeric-reader.c:582 src/data/ods-reader.c:655
#, c-format
msgid "Invalid cell range `%s'"
msgstr "Ongeldig celbereik '%s'"
-#: src/data/gnumeric-reader.c:447 src/data/ods-reader.c:430
-#: src/data/ods-reader.c:545
+#: src/data/gnumeric-reader.c:728 src/data/ods-reader.c:686
+#: src/data/ods-reader.c:822
#, c-format
msgid "Selected sheet or range of spreadsheet `%s' is empty."
msgstr "Geselecteerd blad of bereik van werkblad '%s' is leeg."
msgid "%s is not a valid name for a multiple response set. Multiple response set names must begin with `$'."
msgstr "%s is geen geldige naam voor meervoudige response set. Meervoudige response set namen moeten beginnen met `$'."
-#: src/data/ods-reader.c:359
-#, c-format
-msgid "Error opening `%s' for reading as a OpenDocument spreadsheet file: %s."
-msgstr "Fout bij het openen van '%s' voor het lezen als een OpenDocument rekenblad-bestand: %s."
-
-#: src/data/ods-reader.c:368
+#: src/data/ods-reader.c:593
#, c-format
-msgid "Could not extract OpenDocument spreadsheet from file `%s': %s."
-msgstr ""
+msgid "Cannot open %s as a OpenDocument file: %s"
+msgstr "Kan %s niet openen als een OpenDocument bestand: %s"
#: src/data/por-file-reader.c:101
#, c-format
msgid "Unrecognized version code `%c'."
msgstr "Niet-herkende versiecode '%c'."
-#: src/data/por-file-reader.c:557
+#: src/data/por-file-reader.c:561
#, c-format
msgid "Bad date string length %zu."
msgstr "Onjuiste datum-tekenreekslengte %zu."
-#: src/data/por-file-reader.c:559
+#: src/data/por-file-reader.c:563
#, c-format
msgid "Bad time string length %zu."
msgstr "Onjuiste tijd-tekenreekslengte %zu."
-#: src/data/por-file-reader.c:601
+#: src/data/por-file-reader.c:605
#, c-format
msgid "%s: Bad format specifier byte (%d). Variable will be assigned a default format."
msgstr "%s: Onjuist opmaakspecificatie byte (%d). Variabele krijgt een standaardopmaak."
-#: src/data/por-file-reader.c:622
+#: src/data/por-file-reader.c:626
#, c-format
msgid "Numeric variable %s has invalid format specifier %s."
msgstr "Numerieke variabele %s heeft een ongeldig opmaakspecificatie %s."
-#: src/data/por-file-reader.c:626
+#: src/data/por-file-reader.c:630
#, c-format
msgid "String variable %s with width %d has invalid format specifier %s."
msgstr "Tekenreeksvariabele %s met breedte %d heeft ongeldig opmaakspecificatie %s."
-#: src/data/por-file-reader.c:650
+#: src/data/por-file-reader.c:654
msgid "Expected variable count record."
msgstr "Variabelenteller record verwacht."
-#: src/data/por-file-reader.c:654
+#: src/data/por-file-reader.c:658
#, c-format
msgid "Invalid number of variables %d."
msgstr "Ongeldig aantal variabelen %d."
-#: src/data/por-file-reader.c:663
+#: src/data/por-file-reader.c:667
#, c-format
msgid "Weight variable name (%s) truncated."
msgstr "Wegingsvariabelennaam (%s) is afgekapt."
-#: src/data/por-file-reader.c:678
+#: src/data/por-file-reader.c:682
msgid "Expected variable record."
msgstr "Variabelenrecord verwacht."
-#: src/data/por-file-reader.c:682
+#: src/data/por-file-reader.c:686
#, c-format
msgid "Invalid variable width %d."
msgstr "Ongeldige variabelenbreedte %d."
-#: src/data/por-file-reader.c:690
+#: src/data/por-file-reader.c:694
#, c-format
msgid "Invalid variable name `%s' in position %d."
msgstr "Ongeldige variabelennaam '%s' op positie %d."
-#: src/data/por-file-reader.c:694 src/data/sys-file-reader.c:963
+#: src/data/por-file-reader.c:698 src/data/sys-file-reader.c:1005
#, c-format
msgid "Bad width %d for variable %s."
msgstr "Onjuiste breedte %d voor variabele %s."
-#: src/data/por-file-reader.c:708
+#: src/data/por-file-reader.c:712
#, c-format
msgid "Duplicate variable name %s in position %d renamed to %s."
msgstr "Dubbele variabelennaam %s op positie %d is hernoemd naar %s."
-#: src/data/por-file-reader.c:757
+#: src/data/por-file-reader.c:761
#, c-format
msgid "Weighting variable %s not present in dictionary."
msgstr "Wegingvariabele %s niet aanwezig in woordenboek."
-#: src/data/por-file-reader.c:801
+#: src/data/por-file-reader.c:805
#, c-format
msgid "Unknown variable %s while parsing value labels."
msgstr "Onbekende variabele %s tijdens het ontleden van waardelabels."
-#: src/data/por-file-reader.c:804
+#: src/data/por-file-reader.c:808
#, c-format
msgid "Cannot assign value labels to %s and %s, which have different variable types."
msgstr "Kan geen waardelabels toekennen aan %s en %s, die verschillende variabelentypes hebben."
msgid "Error opening `%s' for writing as a portable file: %s."
msgstr "Fout tijdens openen '%s' voor het schrijven als een overdraagbaar bestand: %s."
-#: src/data/por-file-writer.c:502
+#: src/data/por-file-writer.c:505
#, c-format
msgid "An I/O error occurred writing portable file `%s'."
msgstr "Een I/O fout opgetreden tijdens het schrijven van overdraagbaar bestand '%s'."
-#: src/data/psql-reader.c:47
+#: src/data/psql-reader.c:48
msgid "Support for reading postgres databases was not compiled into this installation of PSPP"
msgstr "Ondersteuning voor het lezen van postgres databases was niet gecompileerd in deze installatie van PSPP"
-#: src/data/psql-reader.c:241
+#: src/data/psql-reader.c:242
msgid "Memory error whilst opening psql source"
msgstr "Geheugenfout tijdens het openen van psql source"
-#: src/data/psql-reader.c:247
+#: 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:262
+#: 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 "Postgres server is versie %s. Lezen van versies ouder dan 8.0 wordt niet ondersteund."
-#: src/data/psql-reader.c:282
+#: src/data/psql-reader.c:283
msgid "Connection is unencrypted, but unencrypted connections have not been permitted."
msgstr "Connectie is niet geëncrypt, maar niet geëncrypte connecties zijn niet toegestaan."
-#: src/data/psql-reader.c:318 src/data/psql-reader.c:343
-#: src/data/psql-reader.c:353
+#: src/data/psql-reader.c:319 src/data/psql-reader.c:344
+#: src/data/psql-reader.c:354
#, c-format
msgid "Error from psql source: %s."
msgstr "Fout van psql source: %s."
-#: src/data/psql-reader.c:448
+#: src/data/psql-reader.c:449
#, c-format
msgid "Unsupported OID %d. SYSMIS values will be inserted."
msgstr "Niet ondersteunde OID %d. SYSMIS waarde wordt ingevoegd."
#. TRANSLATORS: this fragment will be interpolated into
#. messages in fh_lock() that identify types of files.
-#: src/data/sys-file-reader.c:324 src/data/sys-file-writer.c:213
+#: src/data/sys-file-reader.c:361 src/data/sys-file-writer.c:215
msgid "system file"
msgstr "systeembestand"
-#: src/data/sys-file-reader.c:331
+#: src/data/sys-file-reader.c:368
#, 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 systeembestand: %s."
-#: src/data/sys-file-reader.c:388
+#: src/data/sys-file-reader.c:420
msgid "Misplaced type 4 record."
msgstr "Verkeerd geplaatst type 4 record."
-#: src/data/sys-file-reader.c:392
+#: src/data/sys-file-reader.c:424
msgid "Duplicate type 6 (document) record."
msgstr "Meerdere type 6 (document) records."
# c-format
-#: src/data/sys-file-reader.c:401 src/data/sys-file-reader.c:900
+#: src/data/sys-file-reader.c:433 src/data/sys-file-reader.c:929
#, 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 "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:410
+#: src/data/sys-file-reader.c:442
#, c-format
msgid "Record type 7, subtype %d found here has the same type as the record found near offset 0x%llx. Please send a copy of this file, and the syntax which created it to %s."
msgstr ""
-#: src/data/sys-file-reader.c:423
+#: src/data/sys-file-reader.c:455
#, c-format
msgid "Unrecognized record type %d."
msgstr "Niet-herkend recordtype %d."
-#: src/data/sys-file-reader.c:467
+#: src/data/sys-file-reader.c:502
#, c-format
msgid "Weighting variable must be numeric (not string variable `%s')."
msgstr "Wegingvariabele moet numeriek zijn (niet tekenreeks variabele `%s')."
-#: src/data/sys-file-reader.c:502
+#: src/data/sys-file-reader.c:537
#, c-format
msgid "File header claims %d variable positions but %zu were read from file."
msgstr "Bestandskop claimt %d variabelenposities maar %zu zijn er gelezen van het bestand."
-#: src/data/sys-file-reader.c:542
+#: src/data/sys-file-reader.c:589
#, c-format
msgid "Error closing system file `%s': %s."
msgstr "Fout bij het sluiten van systeembestand `%s': %s."
-#: src/data/sys-file-reader.c:604 src/data/sys-file-reader.c:614
+#: src/data/sys-file-reader.c:642 src/data/sys-file-reader.c:652
msgid "This is not an SPSS system file."
msgstr "Dit is geen SPSS-systeembestand."
-#: src/data/sys-file-reader.c:636
+#: src/data/sys-file-reader.c:675
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:712
+#: src/data/sys-file-reader.c:741
msgid "Variable label indicator field is not 0 or 1."
msgstr "Variabelen-labelindicatorveld is niet 0 of 1."
-#: src/data/sys-file-reader.c:722
+#: src/data/sys-file-reader.c:751
msgid "Numeric missing value indicator field is not -3, -2, 0, 1, 2, or 3."
msgstr "Numeriek ontbrekende-waarde indicatorveld is niet -3, -2, 0, 1, 2, of 3."
-#: src/data/sys-file-reader.c:729
+#: src/data/sys-file-reader.c:758
msgid "String missing value indicator field is not 0, 1, 2, or 3."
msgstr "Tekenreeks ontbrekende-waarde indicatorveld is niet 0, 1, 2, of 3."
-#: src/data/sys-file-reader.c:749
+#: src/data/sys-file-reader.c:778
#, c-format
msgid "Invalid number of labels %zu."
msgstr "Ongeldig aantal labels %zu."
-#: src/data/sys-file-reader.c:774
+#: src/data/sys-file-reader.c:803
msgid "Variable index record (type 4) does not immediately follow value label record (type 3) as it should."
msgstr "Variabele index record (type 4) volgt niet onmiddellijk waardelabel record (type 3) zoals het moet."
-#: src/data/sys-file-reader.c:782
+#: src/data/sys-file-reader.c:811
#, c-format
msgid "Number of variables associated with a value label (%zu) is not between 1 and the number of variables (%zu)."
msgstr "Aantal variabelen geassocieerd aan waardelabel (%zu) is niet tussen 1 en het aantal variabelen (%zu)."
-#: src/data/sys-file-reader.c:803
+#: src/data/sys-file-reader.c:832
#, c-format
msgid "Number of document lines (%d) must be greater than 0 and less than %d."
msgstr "Aantal documentregels (%d) moet groter dan 0 en kleiner dan %d zijn."
-#: src/data/sys-file-reader.c:876
+#: src/data/sys-file-reader.c:905
#, c-format
msgid "Record type 7, subtype %d has bad size %zu (expected %d)."
msgstr "Record type 7, subtype %d heeft een foutieve lengte %zu (verwacht %d)."
-#: src/data/sys-file-reader.c:880
+#: src/data/sys-file-reader.c:909
#, c-format
msgid "Record type 7, subtype %d has bad count %zu (expected %d)."
msgstr "Record type 7, subtype %d heeft een foutieve teller %zu (verwacht %d)."
-#: src/data/sys-file-reader.c:959
+#: src/data/sys-file-reader.c:1001
#, c-format
msgid "Invalid variable name `%s'."
msgstr "Ongeldige variabelennaam '%s'."
# c-format
-#: src/data/sys-file-reader.c:967
+#: src/data/sys-file-reader.c:1009
#, c-format
msgid "Duplicate variable name `%s'."
msgstr "Dubbele variabelennaam ´%s´."
-#: src/data/sys-file-reader.c:1038
+#: src/data/sys-file-reader.c:1080
msgid "Missing string continuation record."
msgstr "Mis tekenreeks continuering record."
-#: src/data/sys-file-reader.c:1080
+#: src/data/sys-file-reader.c:1122
#, c-format
msgid "Variable %s with width %d has invalid print format 0x%x."
msgstr "Variabele %s met breedte %d heeft ongeldig afdrukspecificatie 0x%x."
-#: src/data/sys-file-reader.c:1084
+#: src/data/sys-file-reader.c:1126
#, c-format
msgid "Variable %s with width %d has invalid write format 0x%x."
msgstr "Variabele %s met breedte %d heeft ongeldige schrijfspecificatie 0x%x."
-#: src/data/sys-file-reader.c:1089
+#: src/data/sys-file-reader.c:1131
msgid "Suppressing further invalid format warnings."
msgstr "Onderdrukt verdere ongeldig indelingswaarschuwingen."
-#: src/data/sys-file-reader.c:1141
+#: src/data/sys-file-reader.c:1183
#, c-format
msgid "Floating-point representation indicated by system file (%d) differs from expected (%d)."
msgstr "Drijvende komma representatie aangegeven door systeembestand %d verschilt van verwachting (%d)."
-#: src/data/sys-file-reader.c:1155
+#: src/data/sys-file-reader.c:1197
#, c-format
msgid "Integer format indicated by system file (%d) differs from expected (%d)."
msgstr "Integer indeling aangegeven door systeembestand (%d) verschilt van verwacht (%d)."
-#: src/data/sys-file-reader.c:1214 src/data/sys-file-reader.c:1218
-#: src/data/sys-file-reader.c:1222
+#: src/data/sys-file-reader.c:1261 src/data/sys-file-reader.c:1265
+#: src/data/sys-file-reader.c:1269
#, c-format
msgid "File specifies unexpected value %g as %s."
msgstr "Bestand specificeert onverwachte waarde %g als %s."
-#: src/data/sys-file-reader.c:1255
+#: src/data/sys-file-reader.c:1302
#, c-format
msgid "`%s' does not begin with `$' at offset %zu in MRSETS record."
msgstr "`%s' begint niet met `$' op offset %zu in MRSETS record."
-#: src/data/sys-file-reader.c:1266 src/data/sys-file-reader.c:1285
+#: src/data/sys-file-reader.c:1313 src/data/sys-file-reader.c:1332
#, c-format
msgid "Missing space following `%c' at offset %zu in MRSETS record."
msgstr "Ontbrekende spatie achter `%c' op offset %zu in MRSETS record."
-#: src/data/sys-file-reader.c:1295
+#: src/data/sys-file-reader.c:1342
#, c-format
msgid "Unexpected label source value `%s' following `E' at offset %zu in MRSETS record."
msgstr "Onverwachte labelbron waarde `%s' achter `E' op offset %zu in MRSETS "
-#: src/data/sys-file-reader.c:1302
+#: src/data/sys-file-reader.c:1349
#, c-format
msgid "Missing `C', `D', or `E' at offset %zu in MRSETS record."
msgstr "Ontbrekende `C', `D', of `E' op offset %zu in MRSETS record."
-#: src/data/sys-file-reader.c:1334
+#: src/data/sys-file-reader.c:1381
#, c-format
msgid "Missing new-line parsing variable names at offset %zu in MRSETS record."
msgstr "Mis nieuwe-regel bij het ontleden van variabelennamen op offset %zu in MRSETS record."
-#: src/data/sys-file-reader.c:1350
+#: src/data/sys-file-reader.c:1397
#, c-format
msgid "Duplicate variable name %s at offset %zu in MRSETS record."
msgstr "Dubbele variabelennaam %s op offset %zu in MRSETS record."
-#: src/data/sys-file-reader.c:1366
+#: src/data/sys-file-reader.c:1413
#, c-format
msgid "MRSET %s contains both string and numeric variables."
msgstr "MRSET %s bevat zowel tekenreeks als numerieke variabelen."
-#: src/data/sys-file-reader.c:1382
+#: src/data/sys-file-reader.c:1429
#, c-format
msgid "MRSET %s has only %zu variables."
msgstr "MRSET %s heeft slechts %zu variabelen."
-#: src/data/sys-file-reader.c:1428
+#: src/data/sys-file-reader.c:1476
#, 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:1462
+#: src/data/sys-file-reader.c:1510
#, c-format
msgid "Invalid variable display parameters for variable %zu (%s). Default parameters substituted."
msgstr "Ongeldige variabelen-toon-parameters voor variabele %zu (%s). Standaard parameters ingevuld."
-#: src/data/sys-file-reader.c:1559
+#: src/data/sys-file-reader.c:1604
#, 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:1570
+#: src/data/sys-file-reader.c:1615
#, c-format
msgid "Duplicate long variable name `%s'."
msgstr "Dubbele lange variabelennaam `%s'."
-#: src/data/sys-file-reader.c:1603
+#: src/data/sys-file-reader.c:1648
#, c-format
msgid "%s listed as string of invalid length %s in very long string record."
msgstr "%s weergegeven als tekenreeks van foutieve lengte %s in erg lange tekenreeks record."
-#: src/data/sys-file-reader.c:1614
+#: src/data/sys-file-reader.c:1659
#, c-format
msgid "%s listed in very long string record with width %s, which requires only one segment."
msgstr "%s vermeld in erg lang tekenreeks-record met breedte %s, dat slechts een segment vereist."
-#: src/data/sys-file-reader.c:1621
+#: src/data/sys-file-reader.c:1666
#, c-format
msgid "Very long string %s overflows dictionary."
msgstr "Erg lange-tekenreeks %s is te groot voor woordenboek."
-#: src/data/sys-file-reader.c:1636
+#: src/data/sys-file-reader.c:1681
#, c-format
msgid "Very long string with width %ld has segment %d of width %d (expected %d)."
msgstr "Erg lange-tekenreeks met breedte %ld heeft segment %d van breedte %d (verwacht %d)."
-#: src/data/sys-file-reader.c:1670
+#: src/data/sys-file-reader.c:1715
#, c-format
msgid "Variables associated with value label are not all of identical type. Variable %s is %s, but variable %s is %s."
msgstr "Variabelen geassocieerd met waardelabel zijn niet allemaal van het identieke type. Variabele %s is %s, maar variabele %s is %s."
-#: src/data/sys-file-reader.c:1687
+#: src/data/sys-file-reader.c:1732
#, c-format
msgid "Value labels may not be added to long string variables (e.g. %s) using records types 3 and 4."
msgstr "Waardelabels mogen niet toegevoegd aan lange tekenreeks-variabelen (bv %s) bij het gebruik van records types 3 en 4."
-#: src/data/sys-file-reader.c:1706
+#: src/data/sys-file-reader.c:1751
#, c-format
msgid "Duplicate value label for %g on %s."
msgstr "Dubbel waardelabel voor %g in %s."
-#: src/data/sys-file-reader.c:1710 src/data/sys-file-reader.c:1952
+#: src/data/sys-file-reader.c:1755 src/data/sys-file-reader.c:1997
#, c-format
msgid "Duplicate value label for `%.*s' on %s."
msgstr "Dubbel waardelabel voor '%.*s' in %s."
-#: src/data/sys-file-reader.c:1735
+#: src/data/sys-file-reader.c:1780
#, c-format
msgid "Variable index %d not in valid range 1...%zu."
msgstr "Variabele index %d niet in geldig bereik 1...%zu."
-#: src/data/sys-file-reader.c:1744
+#: src/data/sys-file-reader.c:1789
#, c-format
msgid "Variable index %d refers to long string continuation."
msgstr "Variabele index %d verwijst naar lange-tekenreeks voortzetting."
-#: src/data/sys-file-reader.c:1780
+#: src/data/sys-file-reader.c:1825
#, c-format
msgid "Error parsing attribute value %s[%d]."
msgstr "Fout tijdens ontleden attribuut waarde %s[%d]."
-#: src/data/sys-file-reader.c:1794
+#: src/data/sys-file-reader.c:1839
#, 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:1847
+#: src/data/sys-file-reader.c:1892
msgid "Long string value label record ends unexpectedly."
msgstr "Lange tekenreeks waarde label record eindigt onverwacht."
-#: src/data/sys-file-reader.c:1886
+#: src/data/sys-file-reader.c:1931
#, c-format
msgid "Ignoring long string value record for unknown variable %s."
msgstr "Negeren lange tekenreeks waarde record voor onbekende variabele %s."
-#: src/data/sys-file-reader.c:1891
+#: src/data/sys-file-reader.c:1936
#, c-format
msgid "Ignoring long string value record for numeric variable %s."
msgstr "Negeren lange tekenreeks waarde record voor numerieke variabele %s."
-#: src/data/sys-file-reader.c:1898
+#: src/data/sys-file-reader.c:1943
#, 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 "Negeren lange tekenreeks waarde record voor variabele %s omdat de recordbreedte (%d) niet matched met de variabele breedte (%d)."
-#: src/data/sys-file-reader.c:1927
+#: src/data/sys-file-reader.c:1972
#, c-format
msgid "Ignoring long string value %zu for variable %s, with width %d, that has bad value width %zu."
msgstr "Negeren lange tekenreeks waarde %zu voor variabele %s, met breedte %d, die een foutieve breedte waarde %zu heeft."
-#: src/data/sys-file-reader.c:2031
+#: src/data/sys-file-reader.c:2076
msgid "File ends in partial case."
msgstr "Bestand eindigt in gedeeltelijke case."
-#: src/data/sys-file-reader.c:2039
+#: src/data/sys-file-reader.c:2084
#, c-format
msgid "Error reading case from file %s."
msgstr "Fout tijdens lezen case van bestand %s."
-#: src/data/sys-file-reader.c:2141
+#: src/data/sys-file-reader.c:2186
msgid "Possible compressed data corruption: compressed spaces appear in numeric field."
msgstr "Mogelijke gecomprimeerde data corruptie: gecomprimeerde spaties komen voor in numeriek veld."
-#: src/data/sys-file-reader.c:2195
+#: src/data/sys-file-reader.c:2240
#, c-format
msgid "Possible compressed data corruption: string contains compressed integer (opcode %d)."
msgstr "Mogelijke gecomprimeerde data corruptie: tekenreeks bevat gecomprimeerde integer (opcode %d)."
-#: src/data/sys-file-reader.c:2289
+#: src/data/sys-file-reader.c:2334
#, c-format
msgid "Suppressed %d additional related warnings."
msgstr "Onderdrukt %d extra gerelateerde waarschuwingen."
-#: src/data/sys-file-reader.c:2335 src/data/sys-file-reader.c:2352
+#: src/data/sys-file-reader.c:2380 src/data/sys-file-reader.c:2397
#, c-format
msgid "Dictionary record refers to unknown variable %s."
msgstr "Bibliotheek record refereert aan onbekende variabele %s."
-#: src/data/sys-file-reader.c:2414
+#: src/data/sys-file-reader.c:2459
#, c-format
msgid "Expecting digit at offset %zu in MRSETS record."
msgstr "Verwacht cijfer op offset %zu in MRSETS record."
-#: src/data/sys-file-reader.c:2422
+#: src/data/sys-file-reader.c:2467
#, c-format
msgid "Expecting space at offset %zu in MRSETS record."
msgstr "Verwacht spatie op offset %zu in MRSETS record."
-#: src/data/sys-file-reader.c:2430
+#: src/data/sys-file-reader.c:2475
#, c-format
msgid "%zu-byte string starting at offset %zu exceeds record length %zu."
msgstr "%zu-byte tekenreeks beginnend op offset %zu overschrijdt record lengte %zu."
-#: src/data/sys-file-reader.c:2440
+#: src/data/sys-file-reader.c:2485
#, c-format
msgid "Expecting space at offset %zu following %zu-byte string."
msgstr "Verwacht spatie op offset %zu achter %zu-byte tekenreeks."
-#: src/data/sys-file-reader.c:2481
+#: src/data/sys-file-reader.c:2526
#, c-format
msgid "`%s' near offset 0x%llx: "
msgstr "`%s' nabij offset 0x%llx: "
-#: src/data/sys-file-reader.c:2484
+#: src/data/sys-file-reader.c:2529
#, c-format
msgid "`%s': "
msgstr "`%s': "
-#: src/data/sys-file-reader.c:2541
+#: src/data/sys-file-reader.c:2586
#, c-format
msgid "System error: %s."
msgstr "Systeemfout: %s."
-#: src/data/sys-file-reader.c:2543
+#: src/data/sys-file-reader.c:2588
msgid "Unexpected end of file."
msgstr "Onverwacht einde-bestand."
-#: src/data/sys-file-writer.c:186
+#: src/data/sys-file-writer.c:188
#, c-format
msgid "Unknown system file version %d. Treating as version %d."
msgstr "Onbekende systeembestand versie %d. Behandeld als versie %d."
-#: src/data/sys-file-writer.c:1086
+#: src/data/sys-file-writer.c:1111
#, c-format
msgid "An I/O error occurred writing system file `%s'."
msgstr "Een I/O fout is opgetreden tijdens het schrijven van systeembestand '%s'."
-#: src/data/variable.c:634
+#: src/data/variable.c:599
+#, c-format
+msgid "%s (%s)"
+msgstr ""
+
+#: src/data/variable.c:671
#, c-format
msgid "Truncating variable label for variable `%s' to %d bytes."
msgstr "Afkappen variabelelabel voor variabele `%s' tot %d bytes."
-#: src/data/variable.c:679 src/language/dictionary/sys-file-info.c:500
-#: src/ui/gui/psppire-var-sheet.c:112
+#: src/data/variable.c:719 src/language/dictionary/sys-file-info.c:505
+#: src/ui/gui/psppire-var-sheet.c:113
msgid "Nominal"
msgstr "Nominaal"
-#: src/data/variable.c:682 src/language/dictionary/sys-file-info.c:501
-#: src/ui/gui/psppire-var-sheet.c:113
+#: src/data/variable.c:722 src/language/dictionary/sys-file-info.c:506
+#: src/ui/gui/psppire-var-sheet.c:114
msgid "Ordinal"
msgstr "Ordinaal"
-#: src/data/variable.c:685 src/language/dictionary/sys-file-info.c:502
-#: src/language/stats/ks-one-sample.c:327 src/ui/gui/psppire-var-sheet.c:114
+#: src/data/variable.c:725 src/language/dictionary/sys-file-info.c:507
+#: src/language/stats/ks-one-sample.c:327 src/ui/gui/psppire-var-sheet.c:115
msgid "Scale"
msgstr "Schaal"
-#: src/data/variable.c:761 src/language/dictionary/sys-file-info.c:506
-#: src/ui/gui/psppire-var-sheet.c:105
+#: src/data/variable.c:801 src/language/dictionary/sys-file-info.c:511
+#: src/ui/gui/psppire-var-sheet.c:106
msgid "Left"
msgstr "Links"
-#: src/data/variable.c:764 src/language/dictionary/sys-file-info.c:508
-#: src/ui/gui/psppire-var-sheet.c:106
+#: src/data/variable.c:804 src/language/dictionary/sys-file-info.c:513
+#: src/ui/gui/psppire-var-sheet.c:107
msgid "Right"
msgstr "Rechts"
-#: src/data/variable.c:767 src/language/dictionary/sys-file-info.c:507
-#: src/ui/gui/psppire-var-sheet.c:107
+#: src/data/variable.c:807 src/language/dictionary/sys-file-info.c:512
+#: src/ui/gui/psppire-var-sheet.c:108
msgid "Center"
msgstr "Centreer"
-#: src/language/command.c:196 src/language/expressions/parse.c:1293
-#: src/language/utilities/set.q:220
+#: src/language/command.c:195 src/language/expressions/parse.c:1295
+#: src/language/utilities/set.q:227
#, c-format
msgid "%s is not yet implemented."
msgstr "%s is nog niet geïmplementeerd."
-#: src/language/command.c:201
+#: src/language/command.c:200
#, c-format
msgid "%s may be used only in testing mode."
msgstr "%s mag alleen in testmodus gebruikt worden."
-#: src/language/command.c:206
+#: src/language/command.c:205
#, c-format
msgid "%s may be used only in enhanced syntax mode."
msgstr "%s mag alleen in uitgebreide syntaxmodus gebruikt worden."
-#: src/language/command.c:334
+#: src/language/command.c:333
msgid "expecting command name"
msgstr "opdrachtnaam verwacht"
-#: src/language/command.c:336
+#: src/language/command.c:335
#, c-format
msgid "Unknown command `%s'."
msgstr "Onbekende opdracht `%s'."
-#: src/language/command.c:369
+#: src/language/command.c:368
#, c-format
msgid "%s is allowed only before the active dataset has been defined."
msgstr "%s is alleen toegestaan voordat de actieve dataset is gedefinieerd."
-#: src/language/command.c:373
+#: src/language/command.c:372
#, c-format
msgid "%s is allowed only after the active dataset has been defined."
msgstr "%s is alleen toegestaan nadat de actieve dataset is gedefinieerd."
-#: src/language/command.c:377
+#: src/language/command.c:376
#, c-format
msgid "%s is allowed only inside INPUT PROGRAM."
msgstr "%s is alleen toegestaan binnen INPUT PROGRAM."
-#: src/language/command.c:381
+#: src/language/command.c:380
#, c-format
msgid "%s is allowed only inside FILE TYPE."
msgstr "%s is alleen toegestaan binnen FILE TYPE."
-#: src/language/command.c:388 src/language/command.c:392
+#: src/language/command.c:387 src/language/command.c:391
#, c-format
msgid "%s is allowed only before the active dataset has been defined or inside %s."
msgstr "%s is alleen toegestaan voordat de actieve dataset is gedefinieerd of binnen %s."
-#: src/language/command.c:396 src/language/command.c:400
+#: src/language/command.c:395 src/language/command.c:399
#, c-format
msgid "%s is allowed only after the active dataset has been defined or inside %s."
msgstr "%s is alleen toegestaan nadat het actieve dataset is gedefinieerd of binnen %s."
-#: src/language/command.c:404
+#: src/language/command.c:403
#, c-format
msgid "%s is allowed only inside INPUT PROGRAM or inside FILE TYPE."
msgstr "%s is alleen toegestaan binnen INPUT PROGRAM of binnen FILE TYPE."
-#: src/language/command.c:409
+#: src/language/command.c:408
#, c-format
msgid "%s is allowed only after the active dataset has been defined, inside INPUT PROGRAM, or inside FILE TYPE."
msgstr "%s is alleen toegestaan nadat de actieve dataset is gedefinieerd, binnen INPUT PROGRAM, of binnen FILE TYPE."
-#: src/language/command.c:414
+#: src/language/command.c:413
#, c-format
msgid "%s is allowed only before the active dataset has been defined, inside INPUT PROGRAM, or inside FILE TYPE."
msgstr "%s is alleen toegestaan voordat de actieve dataset is gedefinieerd, binnen INPUT PROGRAM, of binnen FILE TYPE."
-#: src/language/command.c:432 src/language/command.c:435
+#: src/language/command.c:431 src/language/command.c:434
#, c-format
msgid "%s is not allowed inside %s."
msgstr "%s is niet toegestaan binnen %s."
-#: src/language/command.c:517 src/language/utilities/host.c:130
+#: src/language/command.c:516 src/language/utilities/host.c:130
#: src/language/utilities/permissions.c:105
msgid "This command not allowed when the SAFER option is set."
msgstr "Deze opdracht is niet toegestaan als de SAFER optie is gezet."
-#: src/language/command.c:533
+#: src/language/command.c:532
#, c-format
msgid "Error removing `%s': %s."
msgstr "Fout bij verwijderen '%s': %s."
msgstr "Syntaxfout bij het einde van de invoer"
#: src/language/lexer/lexer.c:419 src/language/xforms/select-if.c:60
-#: src/language/stats/autorecode.c:206 src/language/stats/npar.c:478
-#: src/language/data-io/print-space.c:72
+#: src/language/stats/autorecode.c:217 src/language/stats/npar.c:504
+#: src/language/data-io/print-space.c:83
msgid "expecting end of command"
msgstr "verwacht einde-van-opdracht "
msgid "expecting identifier"
msgstr "verwacht identificator"
-#: src/language/lexer/lexer.c:1300
+#: src/language/lexer/lexer.c:1263
msgid "Syntax error at end of command"
msgstr "Syntaxfout bij het einde van de opdracht"
-#: src/language/lexer/lexer.c:1309
+#: src/language/lexer/lexer.c:1272
#, c-format
msgid "Syntax error at `%s'"
msgstr "Syntaxfout op `%s'"
-#: src/language/lexer/lexer.c:1312
+#: src/language/lexer/lexer.c:1275
msgid "Syntax error"
msgstr "Syntaxfout"
-#: src/language/lexer/lexer.c:1476
+#: src/language/lexer/lexer.c:1439
#, c-format
msgid "String of hex digits has %d characters, which is not a multiple of 2"
msgstr "Tekenreeks van hex cijfers heeft %d tekens, dat is geen meervoud van 2"
-#: src/language/lexer/lexer.c:1483
+#: src/language/lexer/lexer.c:1446
#, c-format
msgid "`%c' is not a valid hex digit"
msgstr "'%c' is geen geldig hex cijfer"
-#: src/language/lexer/lexer.c:1488
+#: src/language/lexer/lexer.c:1451
#, c-format
msgid "Unicode string contains %d bytes, which is not in the valid range of 1 to 8 bytes"
msgstr "Unicode tekenreeks bevat %d bytes, wat niet valt in de geldige range van 1 tot 8 bytes"
-#: src/language/lexer/lexer.c:1494
+#: src/language/lexer/lexer.c:1457
#, c-format
msgid "U+%04X is not a valid Unicode code point"
msgstr "U+%04X is geen geldige Unicode code punt"
-#: src/language/lexer/lexer.c:1499
+#: src/language/lexer/lexer.c:1462
msgid "Unterminated string constant"
msgstr "Geen einde aan tekenreeksconstante"
-#: src/language/lexer/lexer.c:1503
+#: src/language/lexer/lexer.c:1466
#, c-format
msgid "Missing exponent following `%s'"
msgstr "Ontbrekende exponent achter `%s'"
-#: src/language/lexer/lexer.c:1508
+#: src/language/lexer/lexer.c:1471
msgid "Unexpected `.' in middle of command"
msgstr "Onverwachte `.' in het midden van opdracht"
-#: src/language/lexer/lexer.c:1514
+#: src/language/lexer/lexer.c:1477
#, c-format
msgid "Bad character %s in input"
msgstr "Foutief teken %s in invoer"
-#: src/language/lexer/lexer.c:1608
+#: src/language/lexer/lexer.c:1571
#, c-format
msgid "Opening `%s': %s."
msgstr "Openen '%s': %s."
-#: src/language/lexer/lexer.c:1638
+#: src/language/lexer/lexer.c:1601
#, c-format
msgid "Error reading `%s': %s."
msgstr "Fout bij lezen '%s': %s."
-#: src/language/lexer/lexer.c:1652
+#: src/language/lexer/lexer.c:1615
#, c-format
msgid "Error closing `%s': %s."
msgstr "Fout bij sluiten `%s': %s."
msgstr "verwacht geldige indelingsspecificator"
#: src/language/lexer/format-parser.c:116
-#: src/language/lexer/format-parser.c:136 src/language/data-io/get-data.c:565
-#: src/language/data-io/placement-parser.c:225
+#: src/language/lexer/format-parser.c:143 src/language/data-io/data-list.c:439
+#: src/language/data-io/get-data.c:618
+#: src/language/data-io/placement-parser.c:236
#, c-format
msgid "Unknown format type `%s'."
msgstr "Onbekend opmaaktype '%s'."
-#: src/language/lexer/format-parser.c:131
+#: src/language/lexer/format-parser.c:122
+#, c-format
+msgid "Format specifier `%s' lacks required width."
+msgstr ""
+
+#: src/language/lexer/format-parser.c:138
msgid "expecting format type"
msgstr "verwacht opmaaktype"
msgid "expecting number or data string"
msgstr "nummer of gegevenstekenreeks verwacht"
-#: src/language/lexer/variable-parser.c:67
+#: src/language/lexer/variable-parser.c:70
msgid "expecting variable name"
msgstr "variabelennaam werd verwacht"
-#: src/language/lexer/variable-parser.c:77
+#: src/language/lexer/variable-parser.c:80
#, c-format
msgid "%s is not a variable name."
msgstr "%s is geen variabelennaam."
-#: src/language/lexer/variable-parser.c:180
+#: src/language/lexer/variable-parser.c:183
#, c-format
msgid "%s is not a numeric variable. It will not be included in the variable list."
msgstr "%s is geen numerieke variabele. Het wordt niet opgenomen in de variabelenlijst."
-#: src/language/lexer/variable-parser.c:183
+#: src/language/lexer/variable-parser.c:186
#, c-format
msgid "%s is not a string variable. It will not be included in the variable list."
msgstr "%s is geen tekenreeksvariabele. Het wordt niet opgenomen in de variabelenlijst."
-#: src/language/lexer/variable-parser.c:187
+#: src/language/lexer/variable-parser.c:190
#, c-format
msgid "Scratch variables (such as %s) are not allowed here."
msgstr "Scratch variabelen (zoals %s) zijn hier niet toegestaan."
-#: src/language/lexer/variable-parser.c:191
+#: src/language/lexer/variable-parser.c:194
#, c-format
msgid "%s and %s are not the same type. All variables in this variable list must be of the same type. %s will be omitted from the list."
msgstr "%s en %s zijn niet van hetzelfde type. Alle variabelen in deze variabelenlijst dienen van hetzelfde type te zijn. %s wordt overgeslagen voor de lijst."
-#: src/language/lexer/variable-parser.c:197
+#: src/language/lexer/variable-parser.c:200
#, c-format
msgid "%s and %s are string variables with different widths. All variables in this variable list must have the same width. %s will be omitted from the list."
msgstr "%s en %s hebben verschillende breedtes. Alle variabelen in deze variabelenlijst dienen dezelfde breedte te hebben. %s wordt overgeslagen voor de lijst."
-#: src/language/lexer/variable-parser.c:202
-#: src/language/lexer/variable-parser.c:404
+#: src/language/lexer/variable-parser.c:205
+#: src/language/lexer/variable-parser.c:407
#, c-format
msgid "Variable %s appears twice in variable list."
msgstr "Variabele %s komt 2 keer in de variabelenlijst voor."
-#: src/language/lexer/variable-parser.c:315
+#: src/language/lexer/variable-parser.c:318
#, c-format
msgid "%s TO %s is not valid syntax since %s precedes %s in the dictionary."
msgstr "%s TO %s is geen geldige syntax omdat %s voor %s in het woordenboek staat."
-#: src/language/lexer/variable-parser.c:323
+#: src/language/lexer/variable-parser.c:326
#, c-format
msgid "When using the TO keyword to specify several variables, both variables must be from the same variable dictionaries, of either ordinary, scratch, or system variables. %s is a %s variable, whereas %s is %s."
msgstr "Wanneer het sleutelwoord TO wordt gebruikt om verscheidene variabelen te specificeren, moeten beide variabelen van het zelfde variabelenwoordenboeken, of gewone- scratch- of systeemvariabelen zijn. %s is een %s variabele, terwijl %s %s. is."
-#: src/language/lexer/variable-parser.c:381
+#: src/language/lexer/variable-parser.c:384
#, c-format
msgid "`%s' cannot be used with TO because it does not end in a digit."
msgstr "`%s' kan niet gebruikt worden met TO omdat niet eindigt met een cijfer."
-#: src/language/lexer/variable-parser.c:389
+#: src/language/lexer/variable-parser.c:392
#, c-format
msgid "Numeric suffix on `%s' is larger than supported with TO."
msgstr "Numeriek achtervoegsel op `%s' is langer dan ondersteunt met TO."
-#: src/language/lexer/variable-parser.c:465
+#: src/language/lexer/variable-parser.c:468
msgid "Scratch variables not allowed here."
msgstr "Scratch variabelen niet toegestaan hier."
-#: src/language/lexer/variable-parser.c:497
+#: src/language/lexer/variable-parser.c:500
msgid "Prefixes don't match in use of TO convention."
msgstr "Prefixen komen niet overeen in het gebruik van TO conventie."
-#: src/language/lexer/variable-parser.c:502
+#: src/language/lexer/variable-parser.c:505
msgid "Bad bounds in use of TO convention."
msgstr "Slechte grenzen in het gebruik van TO conventie."
msgid "Only one index clause may be specified."
msgstr "Slechts een index clausule mag gespecificeerd worden."
-#: src/language/control/repeat.c:116
+#: src/language/control/repeat.c:118
#, c-format
msgid "Dummy variable name `%s' hides dictionary variable `%s'."
msgstr "Dummy-variabelennaam '%s' verbergt woordenboekvariabele '%s'."
-#: src/language/control/repeat.c:120
+#: src/language/control/repeat.c:122
#, c-format
msgid "Dummy variable name `%s' is given twice."
msgstr "Dummy-variabelennaam '%s' is twee keer opgegeven."
-#: src/language/control/repeat.c:163
+#: src/language/control/repeat.c:165
#, c-format
msgid "Dummy variable `%s' had %zu substitutions, so `%s' must also, but %zu were specified."
msgstr "Dummy variabele `%s' heeft %zu vervangingen, dus `%s' moet dat ook, maar %zu zijn er gespecificeerd."
-#: src/language/control/repeat.c:377
+#: src/language/control/repeat.c:378
msgid "Ranges may only have integer bounds."
msgstr "Bereiken mogen alleen integer grenzen hebben."
-#: src/language/control/repeat.c:391
+#: src/language/control/repeat.c:392
#, c-format
msgid "%ld TO %ld is an invalid range."
msgstr "%ld TO %ld is een ongeldig bereik."
-#: src/language/control/repeat.c:441
+#: src/language/control/repeat.c:442
msgid "No matching DO REPEAT."
msgstr "Geen overeenkomende DO REPEAT."
msgid "Missing values provided are too long to assign to variable of width %d."
msgstr "De opgegeven ontbrekende-waarde zijn te lang om toe te kennen aan een variabele van breedte %d."
-#: src/language/dictionary/modify-variables.c:91
+#: src/language/dictionary/modify-variables.c:92
msgid "MODIFY VARS may not be used after TEMPORARY. Temporary transformations will be made permanent."
msgstr "MODIFY VARS mag niet gebruikt worden na TEMPORARY. Tijdelijke transformaties zullen permanent gemaakt worden."
-#: src/language/dictionary/modify-variables.c:136
+#: src/language/dictionary/modify-variables.c:137
msgid "Cannot specify ALL after specifying a set of variables."
msgstr "Kan niet ALL opgeven na het specificeren van een set van variabelen."
-#: src/language/dictionary/modify-variables.c:206
+#: src/language/dictionary/modify-variables.c:207
#: src/language/dictionary/rename-variables.c:71
#, c-format
msgid "Differing number of variables in old name list (%zu) and in new name list (%zu)."
msgstr "Verschillend aantal variabelen in oude naamlijst (%zu) en in de nieuwe naamlijst (%zu)."
-#: src/language/dictionary/modify-variables.c:231
+#: src/language/dictionary/modify-variables.c:232
msgid "KEEP subcommand may be given at most once. It may not be given in conjunction with the DROP subcommand."
msgstr "KEEP-subopdracht mag slechts eenmaal gegeven worden. Het mag niet gegeven worden in combinatie met de DROP-subopdracht."
-#: src/language/dictionary/modify-variables.c:274
+#: src/language/dictionary/modify-variables.c:275
msgid "DROP subcommand may be given at most once. It may not be given in conjunction with the KEEP subcommand."
msgstr "DROP subopdracht mag slechts eenmaal gegeven worden. Het mag niet gegeven worden in combinatie met de KEEP-subopdracht."
-#: src/language/dictionary/modify-variables.c:300
+#: src/language/dictionary/modify-variables.c:301
#, c-format
msgid "Unrecognized subcommand name `%s'."
msgstr "Niet-herkende subopdrachtnaam '%s'."
-#: src/language/dictionary/modify-variables.c:302
+#: src/language/dictionary/modify-variables.c:303
msgid "Subcommand name expected."
msgstr "Subopdrachtnaam verwacht."
msgid "Multiple Response Sets"
msgstr "Meervoudige Response Sets"
-#: src/language/dictionary/mrsets.c:548 src/ui/gui/psppire-var-sheet.c:531
-#: src/ui/gui/psppire-var-store.c:768
+#: src/language/dictionary/mrsets.c:548 src/ui/gui/psppire-var-sheet.c:551
+#: src/ui/gui/psppire-var-store.c:773
msgid "Name"
msgstr "Naam"
#: src/language/dictionary/mrsets.c:567
#: src/language/dictionary/split-file.c:84
-#: src/language/dictionary/sys-file-info.c:335
-#: src/language/dictionary/sys-file-info.c:574
-#: src/ui/gui/psppire-var-sheet.c:535 src/ui/gui/psppire-var-store.c:772
-#: src/ui/gui/compute.ui:467
+#: src/language/dictionary/sys-file-info.c:336
+#: src/language/dictionary/sys-file-info.c:579
+#: src/ui/gui/psppire-var-sheet.c:555 src/ui/gui/psppire-var-store.c:777
+#: src/ui/gui/compute.ui:479
msgid "Label"
msgstr "Label"
msgstr "Hernoemen zou variabelennaam %s dupliceren."
#: src/language/dictionary/split-file.c:83
-#: src/language/dictionary/sys-file-info.c:420
-#: src/language/dictionary/sys-file-info.c:573
-#: src/language/stats/cochran.c:170 src/language/stats/reliability.c:753
-#: src/language/stats/reliability.c:764 src/language/stats/crosstabs.q:1233
-#: src/language/stats/crosstabs.q:1260 src/language/stats/crosstabs.q:1283
-#: src/language/stats/crosstabs.q:1308 src/language/stats/examine.q:1840
-#: src/language/stats/frequencies.q:821 src/ui/gui/count.ui:244
+#: src/language/dictionary/sys-file-info.c:425
+#: src/language/dictionary/sys-file-info.c:578
+#: src/language/stats/cochran.c:170 src/language/stats/examine.c:1130
+#: src/language/stats/reliability.c:780 src/language/stats/reliability.c:791
+#: src/language/stats/crosstabs.q:1263 src/language/stats/crosstabs.q:1290
+#: src/language/stats/crosstabs.q:1313 src/language/stats/crosstabs.q:1338
+#: src/language/stats/frequencies.q:826 src/ui/gui/count.ui:244
msgid "Value"
msgstr "Waarde"
msgid "File:"
msgstr "Bestand:"
-#: src/language/dictionary/sys-file-info.c:96 src/ui/gui/compute.ui:405
-#: src/ui/gui/recode.ui:489
+#: src/language/dictionary/sys-file-info.c:96
msgid "Label:"
msgstr "Label:"
#: src/language/dictionary/sys-file-info.c:110
#: src/language/dictionary/sys-file-info.c:118
#: src/language/dictionary/sys-file-info.c:123
+#: src/language/utilities/set.q:926
msgid "Unknown"
msgstr "Onbekend"
msgid "IBM 390 Hex Long."
msgstr "IBM 390 Hex Long."
-#: src/language/dictionary/sys-file-info.c:119 src/ui/gui/recode.ui:590
+#: src/language/dictionary/sys-file-info.c:119
msgid "Variables:"
msgstr "Variabelen:"
msgstr "Type:"
#: src/language/dictionary/sys-file-info.c:127
-#: src/ui/gui/psppire-data-window.c:522
+#: src/ui/gui/psppire-data-window.c:516
msgid "System File"
msgstr "Systeembestand"
msgstr "Tekenset:"
#: src/language/dictionary/sys-file-info.c:149
-#: src/language/dictionary/sys-file-info.c:335
+#: src/language/dictionary/sys-file-info.c:336
msgid "Description"
msgstr "Omschrijving"
#: src/language/dictionary/sys-file-info.c:150
-#: src/language/dictionary/sys-file-info.c:337
-#: src/language/dictionary/sys-file-info.c:644
+#: src/language/dictionary/sys-file-info.c:338
+#: src/language/dictionary/sys-file-info.c:649
msgid "Position"
msgstr "Positie"
-#: src/language/dictionary/sys-file-info.c:197
+#: src/language/dictionary/sys-file-info.c:198
msgid "The active dataset does not have a file label."
msgstr "De actieve dataset heeft geen bestandslabel."
-#: src/language/dictionary/sys-file-info.c:199
+#: src/language/dictionary/sys-file-info.c:200
#, c-format
msgid "File label: %s"
msgstr "Bestandlabel: %s"
-#: src/language/dictionary/sys-file-info.c:273
+#: src/language/dictionary/sys-file-info.c:274
msgid "No variables to display."
msgstr "Geen variabelen om te tonen."
-#: src/language/dictionary/sys-file-info.c:287
+#: src/language/dictionary/sys-file-info.c:288
msgid "Macros not supported."
msgstr "Macro's worden niet ondersteund."
-#: src/language/dictionary/sys-file-info.c:296
+#: src/language/dictionary/sys-file-info.c:297
msgid "The active dataset dictionary does not contain any documents."
msgstr "Het actieve dataset-woordenboek bevat geen documenten."
-#: src/language/dictionary/sys-file-info.c:303
+#: src/language/dictionary/sys-file-info.c:304
msgid "Documents in the active dataset:"
msgstr "Documenten in de actieve dataset:"
-#: src/language/dictionary/sys-file-info.c:419
+#: src/language/dictionary/sys-file-info.c:424
msgid "Attribute"
msgstr "Attribuut"
-#: src/language/dictionary/sys-file-info.c:475
+#: src/language/dictionary/sys-file-info.c:480
#, c-format
msgid "Format: %s"
msgstr "Indeling: %s"
-#: src/language/dictionary/sys-file-info.c:482
+#: src/language/dictionary/sys-file-info.c:487
#, c-format
msgid "Print Format: %s"
msgstr "Afdrukindeling: %s"
-#: src/language/dictionary/sys-file-info.c:486
+#: src/language/dictionary/sys-file-info.c:491
#, c-format
msgid "Write Format: %s"
msgstr "Schrijfindeling: %s"
-#: src/language/dictionary/sys-file-info.c:499
+#: src/language/dictionary/sys-file-info.c:504
#, c-format
msgid "Measure: %s"
msgstr "Meting: %s"
-#: src/language/dictionary/sys-file-info.c:505
+#: src/language/dictionary/sys-file-info.c:510
#, c-format
msgid "Display Alignment: %s"
msgstr "Toongroepering: %s"
-#: src/language/dictionary/sys-file-info.c:511
+#: src/language/dictionary/sys-file-info.c:516
#, c-format
msgid "Display Width: %d"
msgstr "Toonbreedte: %d"
-#: src/language/dictionary/sys-file-info.c:525
+#: src/language/dictionary/sys-file-info.c:530
msgid "Missing Values: "
msgstr "Ontbrekende waardes: "
-#: src/language/dictionary/sys-file-info.c:624
+#: src/language/dictionary/sys-file-info.c:629
msgid "No vectors defined."
msgstr "Geen vectoren gedefinieerd."
-#: src/language/dictionary/sys-file-info.c:643
+#: src/language/dictionary/sys-file-info.c:648
msgid "Vector"
msgstr "Vector"
-#: src/language/dictionary/sys-file-info.c:646
+#: src/language/dictionary/sys-file-info.c:651
msgid "Print Format"
msgstr "Afdrukindeling"
msgid "Truncating value label to %d bytes."
msgstr "Afkappen waarde label tot %d bytes."
-#: src/language/dictionary/vector.c:65
+#: src/language/dictionary/vector.c:66
#, c-format
msgid "A vector named %s already exists."
msgstr "Een vector genaamd %s bestaat al."
-#: src/language/dictionary/vector.c:73
+#: src/language/dictionary/vector.c:74
#, c-format
msgid "Vector name %s is given twice."
msgstr "Vector genaamd %s is 2 keer opgegeven."
-#: src/language/dictionary/vector.c:97
+#: src/language/dictionary/vector.c:98
msgid "A slash must separate each vector specification in VECTOR's long form."
msgstr "Een '/' moet elke vector specificatie scheiden in VECTOR's lange vorm."
-#: src/language/dictionary/vector.c:130
+#: src/language/dictionary/vector.c:131
msgid "Vectors must have at least one element."
msgstr "Vectoren moeten tenminste 1 element bevatten."
-#: src/language/dictionary/vector.c:151
+#: src/language/dictionary/vector.c:152
msgid "expecting vector length"
msgstr "vectorlengte verwacht"
-#: src/language/dictionary/vector.c:171
+#: src/language/dictionary/vector.c:172
#, c-format
msgid "%s is an existing variable name."
msgstr "%s is een bestaande variabelennaam."
msgid "Cannot change mode of %s: %s"
msgstr "Kan modus van %s niet veranderen: %s"
-#: src/language/stats/aggregate.c:95
+#: src/language/stats/aggregate.c:96
msgid "Sum of values"
msgstr "Som van waardes"
-#: src/language/stats/aggregate.c:96
+#: src/language/stats/aggregate.c:97
msgid "Mean average"
msgstr ""
-#: src/language/stats/aggregate.c:97
+#: src/language/stats/aggregate.c:98
msgid "Median average"
msgstr "Mediaan gemiddelde"
-#: src/language/stats/aggregate.c:98 src/ui/gui/frequencies-dialog.c:42
+#: src/language/stats/aggregate.c:99
#: src/ui/gui/psppire-dialog-action-descriptives.c:40
+#: src/ui/gui/psppire-dialog-action-frequencies.c:41
msgid "Standard deviation"
msgstr "Standarddeviatie"
-#: src/language/stats/aggregate.c:99
+#: src/language/stats/aggregate.c:100
msgid "Maximum value"
msgstr "Maximum waarde"
-#: src/language/stats/aggregate.c:100
+#: src/language/stats/aggregate.c:101
msgid "Minimum value"
msgstr "Minimum waarde"
-#: src/language/stats/aggregate.c:101
+#: src/language/stats/aggregate.c:102
msgid "Percentage greater than"
msgstr "Percentage groter dan"
-#: src/language/stats/aggregate.c:102
+#: src/language/stats/aggregate.c:103
msgid "Percentage less than"
msgstr "Percentage kleiner dan"
-#: src/language/stats/aggregate.c:103
+#: src/language/stats/aggregate.c:104
msgid "Percentage included in range"
msgstr "Percentage opgenomen in range"
-#: src/language/stats/aggregate.c:104
+#: src/language/stats/aggregate.c:105
msgid "Percentage excluded from range"
msgstr "Percentage uitgesloten van range"
-#: src/language/stats/aggregate.c:105
+#: src/language/stats/aggregate.c:106
msgid "Fraction greater than"
msgstr "Fractie groter dan"
-#: src/language/stats/aggregate.c:106
+#: src/language/stats/aggregate.c:107
msgid "Fraction less than"
msgstr "Fractie kleiner dan"
-#: src/language/stats/aggregate.c:107
+#: src/language/stats/aggregate.c:108
msgid "Fraction included in range"
msgstr "Fractie opgenomen in range"
-#: src/language/stats/aggregate.c:108
+#: src/language/stats/aggregate.c:109
msgid "Fraction excluded from range"
msgstr "Fractie uitgesloten van range"
-#: src/language/stats/aggregate.c:109
+#: src/language/stats/aggregate.c:110
msgid "Number of cases"
msgstr "Aantal cases"
-#: src/language/stats/aggregate.c:110
+#: src/language/stats/aggregate.c:111
msgid "Number of cases (unweighted)"
msgstr "Aantal cases (ongewogen)"
-#: src/language/stats/aggregate.c:111
+#: src/language/stats/aggregate.c:112
msgid "Number of missing values"
msgstr "Aantal missende waardes"
-#: src/language/stats/aggregate.c:112
+#: src/language/stats/aggregate.c:113
msgid "Number of missing values (unweighted)"
msgstr "Aantal ontbrekende waardes (ongewogen)"
-#: src/language/stats/aggregate.c:113
+#: src/language/stats/aggregate.c:114
msgid "First non-missing value"
msgstr "Eerste niet-ontbrekende waarde"
-#: src/language/stats/aggregate.c:114
+#: src/language/stats/aggregate.c:115
msgid "Last non-missing value"
msgstr "Laatste niet-ontbrekende waarde"
-#: src/language/stats/aggregate.c:257
+#: src/language/stats/aggregate.c:258
msgid "When PRESORTED is specified, specifying sorting directions with (A) or (D) has no effect. Output data will be sorted the same way as the input data."
msgstr "Als PRESORTED is gespecificeerd, heeft specificeren van sorteervolgorde met (A) of (D) geen effect. Uitvoergegevens zullen hetzelfde gesorteerd zijn als de invoergegevens."
-#: src/language/stats/aggregate.c:447
+#: src/language/stats/aggregate.c:448
msgid "expecting aggregation function"
msgstr "aggregatie-functie verwacht"
-#: src/language/stats/aggregate.c:459
+#: src/language/stats/aggregate.c:460
#, c-format
msgid "Unknown aggregation function %s."
msgstr "Onbekende aggregatie functie %s."
-#: src/language/stats/aggregate.c:513
+#: src/language/stats/aggregate.c:514
#, c-format
msgid "Missing argument %zu to %s."
msgstr "Mis argument %zu naar %s."
-#: src/language/stats/aggregate.c:522
+#: src/language/stats/aggregate.c:523
#, c-format
msgid "Arguments to %s must be of same type as source variables."
msgstr "Argumenten naar %s moeten van hetzelfde type zijn als bronvariabelen."
-#: src/language/stats/aggregate.c:541
+#: src/language/stats/aggregate.c:542
#, c-format
msgid "Number of source variables (%zu) does not match number of target variables (%zu)."
msgstr "Aantal bronvariabelen (%zu) komt niet overeen met aantal doelvariabelen (%zu)."
-#: src/language/stats/aggregate.c:557
+#: src/language/stats/aggregate.c:558
#, c-format
msgid "The value arguments passed to the %s function are out-of-order. They will be treated as if they had been specified in the correct order."
msgstr "De volgorde van de geldige argumenten doorgegeven aan de %s functie klopt niet. Ze worden behandeld alsof ze in de correcte volgorde waren opgegeven."
-#: src/language/stats/aggregate.c:631
+#: src/language/stats/aggregate.c:632
#, c-format
msgid "Variable name %s is not unique within the aggregate file dictionary, which contains the aggregate variables and the break variables."
msgstr "Variabelennaam %s is niet uniek binnen het aggregate-bestandwoordenboek, dat de aggregate- en break-variabelen bevat."
-#: src/language/stats/autorecode.c:156
+#: src/language/stats/autorecode.c:164
#, c-format
msgid "Source variable count (%zu) does not match target variable count (%zu)."
msgstr "Bron-variabelenteller (%zu) komt niet overeen met doel-variabelenteller (%zu)."
-#: src/language/stats/autorecode.c:168
+#: src/language/stats/autorecode.c:176
#, c-format
msgid "Target variable %s duplicates existing variable %s."
msgstr "Doelvariabele %s dupliceert bestaande variabele %s."
msgid "Group2"
msgstr "Groep2"
-#: src/language/stats/binomial.c:219 src/language/stats/chisquare.c:177
-#: src/language/stats/chisquare.c:236 src/language/stats/factor.c:1511
-#: src/language/stats/glm.c:851 src/language/stats/kruskal-wallis.c:292
-#: src/language/stats/mann-whitney.c:188 src/language/stats/means.c:1055
-#: src/language/stats/oneway.c:946 src/language/stats/oneway.c:1117
-#: src/language/stats/reliability.c:533 src/language/stats/sign.c:95
-#: src/language/stats/wilcoxon.c:255 src/ui/gui/crosstabs-dialog.c:60
-#: src/language/stats/crosstabs.q:831 src/language/stats/crosstabs.q:1175
-#: src/language/stats/crosstabs.q:1559 src/language/stats/examine.q:1104
-#: src/language/stats/frequencies.q:879 src/language/stats/regression.q:293
+#: src/language/stats/binomial.c:219 src/language/stats/chisquare.c:180
+#: src/language/stats/chisquare.c:239 src/language/stats/examine.c:1335
+#: src/language/stats/factor.c:1513 src/language/stats/glm.c:849
+#: src/language/stats/kruskal-wallis.c:325 src/language/stats/logistic.c:1390
+#: src/language/stats/mann-whitney.c:188 src/language/stats/means.c:1057
+#: src/language/stats/oneway.c:993 src/language/stats/oneway.c:1164
+#: src/language/stats/reliability.c:560 src/language/stats/regression.c:863
+#: src/language/stats/sign.c:95 src/language/stats/wilcoxon.c:255
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:91
+#: src/language/stats/crosstabs.q:861 src/language/stats/crosstabs.q:1205
+#: src/language/stats/crosstabs.q:1588 src/language/stats/frequencies.q:884
msgid "Total"
msgstr "Totaal"
-#: src/language/stats/binomial.c:252 src/language/stats/chisquare.c:199
-#: src/language/stats/crosstabs.q:1258 src/language/stats/crosstabs.q:1305
+#: src/language/stats/binomial.c:252 src/language/stats/chisquare.c:202
+#: src/language/stats/crosstabs.q:1288 src/language/stats/crosstabs.q:1335
msgid "Category"
msgstr "Categorie"
#: src/language/stats/binomial.c:253 src/language/stats/cochran.c:211
-#: src/language/stats/correlations.c:120 src/language/stats/correlations.c:228
-#: src/language/stats/friedman.c:275 src/language/stats/kruskal-wallis.c:257
-#: src/language/stats/ks-one-sample.c:293
+#: src/language/stats/correlations.c:120 src/language/stats/correlations.c:229
+#: src/language/stats/examine.c:1340 src/language/stats/friedman.c:275
+#: src/language/stats/kruskal-wallis.c:273
+#: src/language/stats/ks-one-sample.c:293 src/language/stats/logistic.c:1384
+#: src/language/stats/jonckheere-terpstra.c:380
#: src/language/stats/mann-whitney.c:190 src/language/stats/means.c:408
-#: src/language/stats/means.c:1064 src/language/stats/mcnemar.c:259
-#: src/language/stats/median.c:419 src/language/stats/npar-summary.c:123
-#: src/language/stats/oneway.c:1016 src/language/stats/reliability.c:536
+#: src/language/stats/means.c:1066 src/language/stats/mcnemar.c:259
+#: src/language/stats/median.c:417 src/language/stats/npar-summary.c:123
+#: src/language/stats/oneway.c:1063 src/language/stats/reliability.c:563
#: src/language/stats/sign.c:74 src/language/stats/t-test-indep.c:211
#: src/language/stats/t-test-one-sample.c:158
#: src/language/stats/t-test-paired.c:179
#: src/language/stats/t-test-paired.c:233 src/language/stats/wilcoxon.c:238
-#: src/language/stats/crosstabs.q:838 src/language/stats/examine.q:1175
-#: src/language/stats/frequencies.q:1041
+#: src/language/stats/crosstabs.q:868 src/language/stats/frequencies.q:1046
msgid "N"
msgstr "N"
msgid "Test Prop."
msgstr "Test Prop."
-#: src/language/stats/binomial.c:258 src/language/stats/crosstabs.q:1238
-#: src/language/stats/crosstabs.q:1240
+#: src/language/stats/binomial.c:258 src/language/stats/crosstabs.q:1268
+#: src/language/stats/crosstabs.q:1270
#, c-format
msgid "Exact Sig. (%d-tailed)"
msgstr ""
-#: src/language/stats/chisquare.c:150
+#: src/language/stats/chisquare.c:152
#, c-format
msgid "CHISQUARE test specified %d expected values, but %d distinct values were encountered in variable %s."
msgstr "CHISQUARE test specificeert %d verwachte waardes, maar %d verschillende waardes werden gevonden in variabele %s."
-#: src/language/stats/chisquare.c:161 src/language/stats/chisquare.c:200
+#: src/language/stats/chisquare.c:164 src/language/stats/chisquare.c:203
msgid "Observed N"
msgstr "Waargenomen N"
-#: src/language/stats/chisquare.c:162 src/language/stats/chisquare.c:201
+#: src/language/stats/chisquare.c:165 src/language/stats/chisquare.c:204
msgid "Expected N"
msgstr "Verwacht N"
-#: src/language/stats/chisquare.c:163 src/language/stats/chisquare.c:202
-#: src/ui/gui/crosstabs-dialog.c:62 src/language/stats/regression.q:292
+#: src/language/stats/chisquare.c:166 src/language/stats/chisquare.c:205
+#: src/language/stats/regression.c:862
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:93
msgid "Residual"
msgstr "Overblijvend"
-#: src/language/stats/chisquare.c:195 src/language/stats/cochran.c:159
-#: src/language/stats/median.c:321 src/language/stats/sign.c:62
-#: src/ui/gui/frequencies.ui:9 src/ui/gui/frequencies.ui:669
+#: src/language/stats/chisquare.c:198 src/language/stats/cochran.c:159
+#: src/language/stats/median.c:319 src/language/stats/sign.c:62
+#: src/ui/gui/frequencies.ui:9
msgid "Frequencies"
msgstr "Frequenties"
-#: src/language/stats/chisquare.c:249 src/language/stats/cochran.c:208
-#: src/language/stats/friedman.c:272 src/language/stats/kruskal-wallis.c:310
+#: src/language/stats/chisquare.c:252 src/language/stats/cochran.c:208
+#: src/language/stats/friedman.c:272 src/language/stats/kruskal-wallis.c:343
#: src/language/stats/mann-whitney.c:251 src/language/stats/mcnemar.c:240
-#: src/language/stats/median.c:409 src/language/stats/sign.c:114
+#: src/language/stats/median.c:407 src/language/stats/sign.c:114
#: src/language/stats/wilcoxon.c:304
msgid "Test Statistics"
msgstr "Test Statistieken"
-#: src/language/stats/chisquare.c:263 src/language/stats/friedman.c:282
-#: src/language/stats/kruskal-wallis.c:313 src/language/stats/median.c:425
+#: src/language/stats/chisquare.c:266 src/language/stats/friedman.c:282
+#: src/language/stats/kruskal-wallis.c:346 src/language/stats/median.c:423
msgid "Chi-Square"
msgstr "Chi-Square"
-#: src/language/stats/chisquare.c:264 src/language/stats/cochran.c:217
-#: src/language/stats/factor.c:1873 src/language/stats/friedman.c:285
-#: src/language/stats/glm.c:752 src/language/stats/kruskal-wallis.c:316
-#: src/language/stats/median.c:428 src/language/stats/oneway.c:923
-#: src/language/stats/oneway.c:1328 src/language/stats/t-test-indep.c:291
+#: src/language/stats/chisquare.c:267 src/language/stats/cochran.c:217
+#: src/language/stats/factor.c:1880 src/language/stats/friedman.c:285
+#: src/language/stats/glm.c:750 src/language/stats/kruskal-wallis.c:349
+#: src/language/stats/logistic.c:1204 src/language/stats/median.c:426
+#: src/language/stats/oneway.c:970 src/language/stats/oneway.c:1375
+#: src/language/stats/regression.c:856 src/language/stats/t-test-indep.c:291
#: src/language/stats/t-test-one-sample.c:95
-#: src/language/stats/t-test-paired.c:306 src/language/stats/crosstabs.q:1234
-#: src/language/stats/regression.q:286
+#: src/language/stats/t-test-paired.c:306 src/language/stats/crosstabs.q:1264
msgid "df"
msgstr "df"
-#: src/language/stats/chisquare.c:265 src/language/stats/cochran.c:220
-#: src/language/stats/friedman.c:288 src/language/stats/kruskal-wallis.c:319
-#: src/language/stats/median.c:431
+#: src/language/stats/chisquare.c:268 src/language/stats/cochran.c:220
+#: src/language/stats/friedman.c:288 src/language/stats/kruskal-wallis.c:352
+#: src/language/stats/median.c:429
msgid "Asymp. Sig."
msgstr "Asymp. Sig."
msgid "Cochran's Q"
msgstr "Cochran's Q"
-#: src/language/stats/correlations.c:97 src/language/stats/factor.c:1778
+#: src/language/stats/correlations.c:97 src/language/stats/factor.c:1785
#: src/language/stats/npar-summary.c:109
msgid "Descriptive Statistics"
msgstr "Descriptieve Statistieken"
-#: src/language/stats/correlations.c:118 src/language/stats/descriptives.c:102
-#: src/language/stats/factor.c:1799 src/language/stats/ks-one-sample.c:302
-#: src/language/stats/means.c:407 src/language/stats/npar-summary.c:126
-#: src/language/stats/oneway.c:1017 src/language/stats/t-test-indep.c:212
+#: src/language/stats/correlations.c:118 src/language/stats/descriptives.c:106
+#: src/language/stats/examine.c:886 src/language/stats/factor.c:1806
+#: src/language/stats/ks-one-sample.c:302 src/language/stats/means.c:407
+#: src/language/stats/npar-summary.c:126 src/language/stats/oneway.c:1064
+#: src/language/stats/t-test-indep.c:212
#: src/language/stats/t-test-one-sample.c:159
#: src/language/stats/t-test-paired.c:180
-#: src/language/stats/t-test-paired.c:310 src/ui/gui/frequencies-dialog.c:41
+#: src/language/stats/t-test-paired.c:310
#: src/ui/gui/psppire-dialog-action-descriptives.c:39
-#: src/language/stats/examine.q:1443 src/language/stats/frequencies.q:105
+#: src/ui/gui/psppire-dialog-action-frequencies.c:40
+#: src/language/stats/frequencies.q:107
msgid "Mean"
msgstr "Gemiddelde "
-#: src/language/stats/correlations.c:119 src/language/stats/factor.c:1800
-#: src/language/stats/ks-one-sample.c:304 src/language/stats/means.c:409
-#: src/language/stats/npar-summary.c:129 src/language/stats/oneway.c:1018
-#: src/language/stats/t-test-indep.c:213
+#: src/language/stats/correlations.c:119 src/language/stats/examine.c:978
+#: src/language/stats/factor.c:1807 src/language/stats/ks-one-sample.c:304
+#: src/language/stats/means.c:409 src/language/stats/npar-summary.c:129
+#: src/language/stats/oneway.c:1065 src/language/stats/t-test-indep.c:213
#: src/language/stats/t-test-one-sample.c:160
#: src/language/stats/t-test-paired.c:181
-#: src/language/stats/t-test-paired.c:309 src/language/stats/examine.q:1478
+#: src/language/stats/t-test-paired.c:309
msgid "Std. Deviation"
msgstr "Std. Deviatie"
-#: src/language/stats/correlations.c:191 src/language/stats/factor.c:1669
+#: src/language/stats/correlations.c:191 src/language/stats/factor.c:1673
msgid "Correlations"
msgstr "Correlatie"
-#: src/language/stats/correlations.c:217
+#: src/language/stats/correlations.c:218
msgid "Pearson Correlation"
msgstr "Pearson Correlatie"
-#: src/language/stats/correlations.c:219 src/language/stats/oneway.c:1329
+#: src/language/stats/correlations.c:220 src/language/stats/oneway.c:1376
#: src/language/stats/t-test-indep.c:292
#: src/language/stats/t-test-one-sample.c:96
#: src/language/stats/t-test-paired.c:307
msgid "Sig. (2-tailed)"
msgstr "Sig. (2-tailed)"
-#: src/language/stats/correlations.c:219 src/language/stats/factor.c:1681
+#: src/language/stats/correlations.c:220 src/language/stats/factor.c:1685
msgid "Sig. (1-tailed)"
msgstr "Sig. (1-tailed)"
-#: src/language/stats/correlations.c:223
+#: src/language/stats/correlations.c:224
msgid "Cross-products"
msgstr "Cross-producten"
-#: src/language/stats/correlations.c:224
+#: src/language/stats/correlations.c:225
msgid "Covariance"
msgstr "Covariantie"
-#: src/language/stats/correlations.c:456 src/language/stats/descriptives.c:363
+#: src/language/stats/correlations.c:458 src/language/stats/descriptives.c:371
#: src/language/data-io/list.q:90
msgid "No variables specified."
msgstr "Geen variabelen gespecificeerd."
-#: src/language/stats/descriptives.c:103 src/language/stats/means.c:414
+#: src/language/stats/descriptives.c:107 src/language/stats/means.c:414
#: src/language/stats/t-test-indep.c:214
#: src/language/stats/t-test-one-sample.c:161
-#: src/language/stats/t-test-paired.c:182 src/language/stats/frequencies.q:106
+#: src/language/stats/t-test-paired.c:182 src/language/stats/frequencies.q:108
msgid "S.E. Mean"
msgstr "S.E. Mean"
-#: src/language/stats/descriptives.c:104 src/language/stats/frequencies.q:109
+#: src/language/stats/descriptives.c:108 src/language/stats/frequencies.q:111
msgid "Std Dev"
msgstr "Std Dev"
-#: src/language/stats/descriptives.c:105 src/language/stats/means.c:419
-#: src/ui/gui/frequencies-dialog.c:46
+#: src/language/stats/descriptives.c:109 src/language/stats/examine.c:966
+#: src/language/stats/means.c:419
#: src/ui/gui/psppire-dialog-action-descriptives.c:46
-#: src/language/stats/examine.q:1473 src/language/stats/frequencies.q:110
+#: src/ui/gui/psppire-dialog-action-frequencies.c:45
+#: src/language/stats/frequencies.q:112
msgid "Variance"
msgstr "Variatie"
-#: src/language/stats/descriptives.c:106 src/language/stats/means.c:420
-#: src/ui/gui/frequencies-dialog.c:51
+#: src/language/stats/descriptives.c:110 src/language/stats/examine.c:1068
+#: src/language/stats/means.c:420
#: src/ui/gui/psppire-dialog-action-descriptives.c:47
-#: src/language/stats/examine.q:1509 src/language/stats/frequencies.q:111
+#: src/ui/gui/psppire-dialog-action-frequencies.c:50
+#: src/language/stats/frequencies.q:113
msgid "Kurtosis"
msgstr "Kurtosis"
-#: src/language/stats/descriptives.c:107 src/language/stats/means.c:421
-#: src/language/stats/frequencies.q:112
+#: src/language/stats/descriptives.c:111 src/language/stats/means.c:421
+#: src/language/stats/frequencies.q:114
msgid "S.E. Kurt"
msgstr "S.E. Kurt"
-#: src/language/stats/descriptives.c:108 src/language/stats/means.c:422
-#: src/ui/gui/frequencies-dialog.c:47
+#: src/language/stats/descriptives.c:112 src/language/stats/examine.c:1051
+#: src/language/stats/means.c:422
#: src/ui/gui/psppire-dialog-action-descriptives.c:48
-#: src/language/stats/examine.q:1504 src/language/stats/frequencies.q:113
+#: src/ui/gui/psppire-dialog-action-frequencies.c:46
+#: src/language/stats/frequencies.q:115
msgid "Skewness"
msgstr "Skewness"
-#: src/language/stats/descriptives.c:109 src/language/stats/means.c:423
-#: src/language/stats/frequencies.q:114
+#: src/language/stats/descriptives.c:113 src/language/stats/means.c:423
+#: src/language/stats/frequencies.q:116
msgid "S.E. Skew"
msgstr "S.E. Skew"
-#: src/language/stats/descriptives.c:110 src/language/stats/means.c:418
-#: src/ui/gui/frequencies-dialog.c:49
+#: src/language/stats/descriptives.c:114 src/language/stats/examine.c:1018
+#: src/language/stats/means.c:418
#: src/ui/gui/psppire-dialog-action-descriptives.c:43
-#: src/language/stats/examine.q:1493 src/language/stats/frequencies.q:115
+#: src/ui/gui/psppire-dialog-action-frequencies.c:48
+#: src/language/stats/frequencies.q:117
msgid "Range"
msgstr "Bereik"
-#: src/language/stats/descriptives.c:111
+#: src/language/stats/descriptives.c:115 src/language/stats/examine.c:990
#: src/language/stats/ks-one-sample.c:311
-#: src/language/stats/npar-summary.c:132 src/language/stats/oneway.c:1031
-#: src/ui/gui/frequencies-dialog.c:43
+#: src/language/stats/npar-summary.c:132 src/language/stats/oneway.c:1078
#: src/ui/gui/psppire-dialog-action-descriptives.c:41
-#: src/language/stats/examine.q:1483 src/language/stats/frequencies.q:116
+#: src/ui/gui/psppire-dialog-action-frequencies.c:42
+#: src/language/stats/frequencies.q:118
msgid "Minimum"
msgstr "Minimum"
-#: src/language/stats/descriptives.c:112
+#: src/language/stats/descriptives.c:116 src/language/stats/examine.c:1004
#: src/language/stats/ks-one-sample.c:313
-#: src/language/stats/npar-summary.c:135 src/language/stats/oneway.c:1032
-#: src/ui/gui/frequencies-dialog.c:44
+#: src/language/stats/npar-summary.c:135 src/language/stats/oneway.c:1079
#: src/ui/gui/psppire-dialog-action-descriptives.c:42
-#: src/language/stats/examine.q:1488 src/language/stats/frequencies.q:117
+#: src/ui/gui/psppire-dialog-action-frequencies.c:43
+#: src/language/stats/frequencies.q:119
msgid "Maximum"
msgstr "Maximum"
-#: src/language/stats/descriptives.c:113 src/language/stats/means.c:415
-#: src/ui/gui/frequencies-dialog.c:54
+#: src/language/stats/descriptives.c:117 src/language/stats/means.c:415
#: src/ui/gui/psppire-dialog-action-descriptives.c:44
-#: src/language/stats/frequencies.q:118
+#: src/ui/gui/psppire-dialog-action-frequencies.c:53
+#: src/language/stats/frequencies.q:120
msgid "Sum"
msgstr "Som"
-#: src/language/stats/descriptives.c:345
+#: src/language/stats/descriptives.c:353
#, c-format
msgid "Z-score variable name %s would be a duplicate variable name."
msgstr "Z-score-variabelennaam %s zou een dubbele variabelennaam zijn."
-#: src/language/stats/descriptives.c:457
+#: src/language/stats/descriptives.c:474
msgid "expecting statistic name: reverting to default"
msgstr "statistische naam verwacht: teruggezet op standaardwaarde"
-#: src/language/stats/descriptives.c:539
+#: src/language/stats/descriptives.c:557
msgid "Ran out of generic names for Z-score variables. There are only 126 generic names: ZSC001-ZSC0999, STDZ01-STDZ09, ZZZZ01-ZZZZ09, ZQZQ01-ZQZQ09."
msgstr "Generieke namen voor Z-score-variabelen zijn uitgeput. Er zijn slechts 126 generieke namen: ZSC001-ZSC0999, STDZ01-STDZ09, ZZZZ01-ZZZZ09, ZQZQ01-ZQZQ09."
-#: src/language/stats/descriptives.c:568
+#: src/language/stats/descriptives.c:586
msgid "Mapping of variables to corresponding Z-scores."
msgstr "Mappen van variabelen naar corresponderende Z-scores."
-#: src/language/stats/descriptives.c:572 src/language/stats/glm.c:746
+#: src/language/stats/descriptives.c:590 src/language/stats/glm.c:744
msgid "Source"
msgstr "Bron"
-#: src/language/stats/descriptives.c:573
+#: src/language/stats/descriptives.c:591
msgid "Target"
msgstr "Doel"
-#: src/language/stats/descriptives.c:684
+#: src/language/stats/descriptives.c:643
+msgid "Internal error processing Z scores"
+msgstr ""
+
+#: src/language/stats/descriptives.c:738
#, c-format
msgid "Z-score of %s"
msgstr "Z-score van %s"
-#: src/language/stats/descriptives.c:898
+#: src/language/stats/descriptives.c:973
msgid "Valid N"
msgstr "Geldige N"
-#: src/language/stats/descriptives.c:899
+#: src/language/stats/descriptives.c:974
msgid "Missing N"
msgstr "Missende N"
-#: src/language/stats/descriptives.c:927
+#: src/language/stats/descriptives.c:1002
#, c-format
msgid "Valid cases = %g; cases with missing value(s) = %g."
msgstr "Geldige cases = %g; cases met ontbrekende-waarde(s) = %g."
-#: src/language/stats/factor.c:851
+#: src/language/stats/examine.c:74
+msgid " (missing)"
+msgstr " (ontbrekend)"
+
+#: src/language/stats/examine.c:269
+#, c-format
+msgid "Boxplot of %s vs. %s"
+msgstr "Boxplot van %s vs. %s"
+
+#: src/language/stats/examine.c:275 src/language/stats/examine.c:381
+#, c-format
+msgid "Boxplot of %s"
+msgstr "Boxplot van %s"
+
+#: src/language/stats/examine.c:364
+msgid "Boxplot"
+msgstr "Boxplot"
+
+#: src/language/stats/examine.c:460
+msgid "Not creating NP plot because data set is empty."
+msgstr "Niet aanmaken van NP plot omdat gegevens set leeg is."
+
+#: src/language/stats/examine.c:520
+#, c-format
+msgid "Not creating spreadlevel chart for %s"
+msgstr ""
+
+#: src/language/stats/examine.c:608 src/language/stats/examine.c:626
+#: src/language/stats/npar-summary.c:142 src/language/stats/frequencies.q:1062
+msgid "Percentiles"
+msgstr "Percentiles"
+
+#: src/language/stats/examine.c:636
+#, c-format
+msgid "%g"
+msgstr "%g"
+
+#: src/language/stats/examine.c:759
+msgid "Tukey's Hinges"
+msgstr "Tukey's Hinges"
+
+#: src/language/stats/examine.c:787 src/language/stats/oneway.c:1081
+#: src/ui/gui/descriptives.ui:8
+msgid "Descriptives"
+msgstr "Descriptieve"
+
+#: src/language/stats/examine.c:804 src/ui/gui/checkbox-treeview.c:94
+#: src/language/stats/crosstabs.q:1262 src/language/stats/crosstabs.q:1289
+#: src/language/stats/crosstabs.q:1312 src/language/stats/crosstabs.q:1336
+msgid "Statistic"
+msgstr "Statistiek"
+
+#: src/language/stats/examine.c:807 src/language/stats/oneway.c:1066
+#: src/language/stats/oneway.c:1373 src/language/stats/oneway.c:1578
+#: src/language/stats/roc.c:975 src/language/stats/regression.c:770
+msgid "Std. Error"
+msgstr "Std. Fout"
+
+#: src/language/stats/examine.c:903 src/language/stats/oneway.c:1072
+#, c-format
+msgid "%g%% Confidence Interval for Mean"
+msgstr ""
+
+#: src/language/stats/examine.c:911 src/language/stats/oneway.c:1075
+#: src/language/stats/oneway.c:1585 src/language/stats/roc.c:978
+msgid "Lower Bound"
+msgstr "Benedengrens"
+
+#: src/language/stats/examine.c:924 src/language/stats/oneway.c:1076
+#: src/language/stats/oneway.c:1586 src/language/stats/roc.c:979
+msgid "Upper Bound"
+msgstr "Bovengrens"
+
+#: src/language/stats/examine.c:937
+msgid "5% Trimmed Mean"
+msgstr "5% Trimmed Mean"
+
+#: src/language/stats/examine.c:951 src/language/stats/means.c:411
+#: src/language/stats/median.c:420
+#: src/ui/gui/psppire-dialog-action-frequencies.c:52
+#: src/language/stats/frequencies.q:109
+msgid "Median"
+msgstr "Mediaan"
+
+#: src/language/stats/examine.c:1032
+msgid "Interquartile Range"
+msgstr "Interquartile Range"
+
+#: src/language/stats/examine.c:1106
+msgid "Extreme Values"
+msgstr "Extreme Waardes"
+
+#: src/language/stats/examine.c:1127 src/language/data-io/list.q:157
+msgid "Case Number"
+msgstr "Case Nummer"
+
+#: src/language/stats/examine.c:1202
+msgid "Highest"
+msgstr "Hoogste"
+
+#: src/language/stats/examine.c:1213
+msgid "Lowest"
+msgstr "Laagste"
+
+#: src/language/stats/examine.c:1305 src/language/stats/logistic.c:1374
+#: src/language/stats/means.c:1042 src/language/stats/reliability.c:528
+msgid "Case Processing Summary"
+msgstr "Case Bewerkingsoverzicht"
+
+#: src/language/stats/examine.c:1321 src/language/stats/means.c:1053
+#: src/language/stats/reliability.c:551 src/language/stats/crosstabs.q:858
+msgid "Cases"
+msgstr "Cases"
+
+#: src/language/stats/examine.c:1325 src/language/stats/quick-cluster.c:475
+#: src/language/stats/reliability.c:554 src/language/stats/crosstabs.q:859
+#: src/language/stats/frequencies.q:1047
+msgid "Valid"
+msgstr "Geldig"
+
+#: src/language/stats/examine.c:1330 src/ui/gui/psppire-var-sheet.c:557
+#: src/ui/gui/psppire-var-store.c:779 src/language/stats/crosstabs.q:860
+#: src/language/stats/frequencies.q:877 src/language/stats/frequencies.q:1048
+msgid "Missing"
+msgstr "Ontbrekend"
+
+#: src/language/stats/examine.c:1342 src/language/stats/logistic.c:1385
+#: src/language/stats/means.c:1068 src/language/stats/crosstabs.q:869
+#: src/language/stats/frequencies.q:828
+msgid "Percent"
+msgstr "Percentage"
+
+#: src/language/stats/examine.c:1982
+#, c-format
+msgid "%s may not be negative. Using default value (%g)."
+msgstr ""
+
+#: src/language/stats/examine.c:2019
+msgid "Percentiles must lie in the range (0, 100)"
+msgstr ""
+
+#: src/language/stats/examine.c:2213
+#, c-format
+msgid "%s and %s are mutually exclusive"
+msgstr "%s en %s zijn wederzijds exclusief"
+
+#: src/language/stats/factor.c:854
msgid "Factor analysis on a single variable is not useful."
msgstr "Factor analyse op een enkele variabele is niet zinvol."
-#: src/language/stats/factor.c:1255
+#: src/language/stats/factor.c:1257
msgid "Component Number"
msgstr "Component-nummer "
-#: src/language/stats/factor.c:1255
+#: src/language/stats/factor.c:1257
msgid "Factor Number"
msgstr "Factor Nummer"
-#: src/language/stats/factor.c:1286
+#: src/language/stats/factor.c:1288
msgid "Communalities"
msgstr ""
-#: src/language/stats/factor.c:1292
+#: src/language/stats/factor.c:1294
msgid "Initial"
msgstr "Initieel "
-#: src/language/stats/factor.c:1295
+#: src/language/stats/factor.c:1297
msgid "Extraction"
msgstr "Extractie"
-#: src/language/stats/factor.c:1359 src/language/stats/factor.c:1486
+#: src/language/stats/factor.c:1361 src/language/stats/factor.c:1488
msgid "Component"
msgstr "Component"
-#: src/language/stats/factor.c:1364 src/language/stats/factor.c:1488
+#: src/language/stats/factor.c:1366 src/language/stats/factor.c:1490
msgid "Factor"
msgstr "Factor"
-#: src/language/stats/factor.c:1396 src/ui/gui/psppire-data-store.c:755
-#: src/ui/gui/psppire-var-store.c:634 src/ui/gui/psppire-var-store.c:644
-#: src/ui/gui/psppire-var-store.c:654 src/ui/gui/psppire-var-store.c:761
+#: src/language/stats/factor.c:1398 src/ui/gui/psppire-data-store.c:755
+#: src/ui/gui/psppire-var-store.c:635 src/ui/gui/psppire-var-store.c:645
+#: src/ui/gui/psppire-var-store.c:655 src/ui/gui/psppire-var-store.c:766
#, c-format
msgid "%d"
msgstr "%d"
-#: src/language/stats/factor.c:1461
+#: src/language/stats/factor.c:1463
msgid "Total Variance Explained"
msgstr ""
-#: src/language/stats/factor.c:1493
+#: src/language/stats/factor.c:1495
msgid "Initial Eigenvalues"
msgstr ""
-#: src/language/stats/factor.c:1499
+#: src/language/stats/factor.c:1501
msgid "Extraction Sums of Squared Loadings"
msgstr ""
-#: src/language/stats/factor.c:1505
+#: src/language/stats/factor.c:1507
msgid "Rotation Sums of Squared Loadings"
msgstr ""
-#: src/language/stats/factor.c:1513
+#: src/language/stats/factor.c:1515
#, no-c-format
msgid "% of Variance"
msgstr "% van Variatie"
-#: src/language/stats/factor.c:1514
+#: src/language/stats/factor.c:1516
msgid "Cumulative %"
msgstr "Cumulatieve %"
-#: src/language/stats/factor.c:1544
+#: src/language/stats/factor.c:1543
#, c-format
msgid "%zu"
msgstr "%zu"
-#: src/language/stats/factor.c:1627
+#: src/language/stats/factor.c:1631
msgid "Correlation Matrix"
msgstr "Correlatie-Matrix"
-#: src/language/stats/factor.c:1701
+#: src/language/stats/factor.c:1705
msgid "Determinant"
msgstr "Determinant"
-#: src/language/stats/factor.c:1733
+#: src/language/stats/factor.c:1737
msgid "The dataset contains no complete observations. No analysis will be performed."
msgstr "De dataset bevat geen complete observaties. Er wordt geen analyse uitgevoerd."
-#: src/language/stats/factor.c:1801
+#: src/language/stats/factor.c:1808
msgid "Analysis N"
msgstr "Analyses N"
-#: src/language/stats/factor.c:1838
+#: src/language/stats/factor.c:1845
msgid "KMO and Bartlett's Test"
msgstr "KMO and Bartlett's Test"
-#: src/language/stats/factor.c:1866
+#: src/language/stats/factor.c:1873
msgid "Kaiser-Meyer-Olkin Measure of Sampling Adequacy"
msgstr "Kaiser-Meyer-Olkin Measure of Sampling Adequacy"
-#: src/language/stats/factor.c:1870
+#: src/language/stats/factor.c:1877
msgid "Bartlett's Test of Sphericity"
msgstr "Bartlett's Test of Sphericity"
-#: src/language/stats/factor.c:1872
+#: src/language/stats/factor.c:1879
msgid "Approx. Chi-Square"
msgstr "Approx. Chi-Square"
-#: src/language/stats/factor.c:1874 src/language/stats/glm.c:755
-#: src/language/stats/oneway.c:1532 src/language/stats/t-test-indep.c:289
+#: src/language/stats/factor.c:1881 src/language/stats/glm.c:753
+#: src/language/stats/logistic.c:1205 src/language/stats/oneway.c:1579
+#: src/language/stats/t-test-indep.c:289
#: src/language/stats/t-test-paired.c:235
msgid "Sig."
msgstr "Sig."
-#: src/language/stats/factor.c:1912
+#: src/language/stats/factor.c:1922
msgid "The FACTOR criteria result in zero factors extracted. Therefore no analysis will be performed."
msgstr "De FACTOR criteria resulteerd in nul factors geëxtraheerd. Daarom wordt er geen analyse uitgevoerd."
-#: src/language/stats/factor.c:1918
+#: src/language/stats/factor.c:1928
msgid "The FACTOR criteria result in more factors than variables, which is not meaningful. No analysis will be performed."
msgstr "De FACTOR criteria resulteren in meer factoren dan variabelen, wat niet betekenisvol is. Geen analyse wordt uitgevoerd."
-#: src/language/stats/factor.c:2001
+#: src/language/stats/factor.c:2011
msgid "Component Matrix"
msgstr "Component-Matrix"
-#: src/language/stats/factor.c:2001
+#: src/language/stats/factor.c:2011
msgid "Factor Matrix"
msgstr "Factor-Matrix:"
-#: src/language/stats/factor.c:2007
+#: src/language/stats/factor.c:2017
msgid "Rotated Component Matrix"
msgstr "Geroteerde componentmatrix"
-#: src/language/stats/factor.c:2007
+#: src/language/stats/factor.c:2017
msgid "Rotated Factor Matrix"
msgstr "Geroteerde factormatrix:"
msgid "Unexpected end of file reading FLIP temporary file."
msgstr "Onverwacht einde-bestand tijdens lezen FLIP tijdelijk bestand."
-#: src/language/stats/friedman.c:227 src/language/stats/kruskal-wallis.c:242
+#: src/language/stats/friedman.c:227 src/language/stats/kruskal-wallis.c:258
#: src/language/stats/mann-whitney.c:171 src/language/stats/wilcoxon.c:225
msgid "Ranks"
msgstr "Rangschikking"
-#: src/language/stats/friedman.c:238 src/language/stats/kruskal-wallis.c:256
+#: src/language/stats/friedman.c:238 src/language/stats/kruskal-wallis.c:272
#: src/language/stats/mann-whitney.c:196 src/language/stats/wilcoxon.c:239
msgid "Mean Rank"
msgstr "Mean Rank"
msgid "Only types 1, 2 & 3 sums of squares are currently implemented"
msgstr "Alleen types 1, 2 & 3 sums of squares zijn momenteel geimplementeerd"
-#: src/language/stats/glm.c:737
+#: src/language/stats/glm.c:735
msgid "Tests of Between-Subjects Effects"
msgstr ""
-#: src/language/stats/glm.c:750
+#: src/language/stats/glm.c:748
#, c-format
msgid "Type %s Sum of Squares"
msgstr "Type %s Sum of Squares"
-#: src/language/stats/glm.c:753 src/language/stats/oneway.c:924
-#: src/language/stats/regression.q:287
+#: src/language/stats/glm.c:751 src/language/stats/oneway.c:971
+#: src/language/stats/regression.c:857
msgid "Mean Square"
msgstr "Mean Square"
-#: src/language/stats/glm.c:754 src/language/stats/oneway.c:925
-#: src/language/stats/t-test-indep.c:288 src/language/stats/regression.q:288
+#: src/language/stats/glm.c:752 src/language/stats/oneway.c:972
+#: src/language/stats/regression.c:858 src/language/stats/t-test-indep.c:288
msgid "F"
msgstr "F"
-#: src/language/stats/glm.c:763
+#: src/language/stats/glm.c:761
msgid "Corrected Model"
msgstr "Gecorrigeerd model "
-#: src/language/stats/glm.c:765 src/language/stats/regression.q:372
+#: src/language/stats/glm.c:763 src/language/stats/regression.c:910
msgid "Model"
msgstr "Model"
-#: src/language/stats/glm.c:778
+#: src/language/stats/glm.c:776
msgid "Intercept"
msgstr ""
-#: src/language/stats/glm.c:844
+#: src/language/stats/glm.c:842
msgid "Error"
msgstr "Fout"
-#: src/language/stats/glm.c:860
+#: src/language/stats/glm.c:858
msgid "Corrected Total"
msgstr "Gecorrigeerd Totaal "
msgid "Poisson Parameters"
msgstr ""
-#: src/language/stats/ks-one-sample.c:320 src/ui/gui/crosstabs-dialog.c:44
-#: src/language/stats/crosstabs.q:1943
+#: src/language/stats/ks-one-sample.c:320
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:74
+#: src/language/stats/crosstabs.q:1972
msgid "Lambda"
msgstr "Lambda"
msgstr "Kolmogorov-Smirnov Z"
#: src/language/stats/ks-one-sample.c:399
+#: src/language/stats/jonckheere-terpstra.c:385
#: src/language/stats/mann-whitney.c:267 src/language/stats/runs.c:399
-#: src/language/stats/wilcoxon.c:318 src/language/stats/crosstabs.q:1236
+#: src/language/stats/wilcoxon.c:318 src/language/stats/crosstabs.q:1266
msgid "Asymp. Sig. (2-tailed)"
msgstr "Asymp. Sig. (2-tailed)"
-#: src/language/stats/mann-whitney.c:202 src/language/stats/wilcoxon.c:240
-msgid "Sum of Ranks"
-msgstr "Som van Rangen"
-
-#: src/language/stats/mann-whitney.c:264
-msgid "Mann-Whitney U"
-msgstr "Mann-Whitney U"
+#: src/language/stats/logistic.c:327
+msgid "All predicted values are either 1 or 0"
+msgstr ""
-#: src/language/stats/mann-whitney.c:265
-msgid "Wilcoxon W"
-msgstr "Wilcoxon W"
+#: src/language/stats/logistic.c:525
+#, fuzzy
+msgid "Dependent variable's values are not dichotomous."
+msgstr "Afhankelijke variabele moet numeriek zijn."
-#: src/language/stats/mann-whitney.c:266 src/language/stats/runs.c:396
-#: src/language/stats/wilcoxon.c:317
-msgid "Z"
-msgstr "Z"
+#: src/language/stats/logistic.c:612
+#, c-format
+msgid "Category %s does not have at least two distinct values. Logistic regression will not be run."
+msgstr ""
-#: src/language/stats/mann-whitney.c:271 src/language/stats/mcnemar.c:262
-#: src/language/stats/sign.c:133 src/language/stats/wilcoxon.c:322
-msgid "Exact Sig. (2-tailed)"
-msgstr "Exact Sig. (2-tailed)"
+#: src/language/stats/logistic.c:672
+#, c-format
+msgid "Estimation terminated at iteration number %d because parameter estimates changed by less than %g"
+msgstr ""
-#: src/language/stats/mann-whitney.c:272 src/language/stats/mcnemar.c:268
-#: src/language/stats/sign.c:139 src/language/stats/wilcoxon.c:326
-msgid "Point Probability"
-msgstr "Point Probability"
+#: src/language/stats/logistic.c:684
+#, c-format
+msgid "Estimation terminated at iteration number %d because Log Likelihood decreased by less than %g%%"
+msgstr ""
-#: src/language/stats/means.c:411 src/language/stats/median.c:422
-#: src/ui/gui/frequencies-dialog.c:53 src/language/stats/examine.q:1468
-#: src/language/stats/frequencies.q:107
-msgid "Median"
-msgstr "Mediaan"
+#: src/language/stats/logistic.c:699
+#, c-format
+msgid "Estimation terminated at iteration number %d because maximum iterations has been reached"
+msgstr ""
-#: src/language/stats/means.c:412
-msgid "Group Median"
-msgstr "Groep Mediaan"
+#: src/language/stats/logistic.c:984
+msgid "Cut point value must be in the range [0,1]"
+msgstr ""
-#: src/language/stats/means.c:416
-msgid "Min"
-msgstr "Min"
+#: src/language/stats/logistic.c:1129
+#, fuzzy
+msgid "Dependent Variable Encoding"
+msgstr "_Afhankelijke variabele:"
-#: src/language/stats/means.c:417
-msgid "Max"
-msgstr "Max"
+#: src/language/stats/logistic.c:1138
+msgid "Original Value"
+msgstr "Oorspronkelijke Waarde"
-#: src/language/stats/means.c:424
-msgid "First"
-msgstr "Eerste"
+#: src/language/stats/logistic.c:1139
+msgid "Internal Value"
+msgstr "Interne Waarde"
-#: src/language/stats/means.c:425
-msgid "Last"
-msgstr "Laatste"
+#: src/language/stats/logistic.c:1190
+msgid "Variables in the Equation"
+msgstr "Variabelen in de vergelijking"
-#: src/language/stats/means.c:427
-msgid "Percent N"
-msgstr "Percentage N"
+#: src/language/stats/logistic.c:1199 src/language/stats/logistic.c:1345
+#: src/language/stats/logistic.c:1540
+msgid "Step 1"
+msgstr "Stap 1"
-#: src/language/stats/means.c:428
-msgid "Percent Sum"
-msgstr ""
+#: src/language/stats/logistic.c:1201 src/language/stats/regression.c:769
+msgid "B"
+msgstr "B"
-#: src/language/stats/means.c:430
-msgid "Harmonic Mean"
-msgstr "Harmonic Mean"
+#: src/language/stats/logistic.c:1202
+msgid "S.E."
+msgstr "S.E."
-#: src/language/stats/means.c:431
-msgid "Geom. Mean"
-msgstr "Geom. Mean"
+#: src/language/stats/logistic.c:1203
+msgid "Wald"
+msgstr "Wald"
-#: src/language/stats/means.c:1040 src/language/stats/reliability.c:501
-#: src/language/stats/examine.q:1158
-msgid "Case Processing Summary"
-msgstr "Case Bewerkingsoverzicht"
+#: src/language/stats/logistic.c:1206
+msgid "Exp(B)"
+msgstr "Exp(B)"
-#: src/language/stats/means.c:1051 src/language/stats/reliability.c:524
-#: src/language/stats/crosstabs.q:828 src/language/stats/examine.q:1163
-msgid "Cases"
-msgstr "Cases"
+#: src/language/stats/logistic.c:1211
+#, c-format
+msgid "%d%% CI for Exp(B)"
+msgstr ""
-#: src/language/stats/means.c:1053
+#: src/language/stats/logistic.c:1213 src/language/stats/t-test-indep.c:295
+#: src/language/stats/t-test-one-sample.c:98
+#: src/language/stats/t-test-paired.c:312 src/language/stats/crosstabs.q:1314
+msgid "Lower"
+msgstr "Lager"
+
+#: src/language/stats/logistic.c:1214 src/language/stats/t-test-indep.c:296
+#: src/language/stats/t-test-one-sample.c:99
+#: src/language/stats/t-test-paired.c:313 src/language/stats/crosstabs.q:1315
+msgid "Upper"
+msgstr "Hoger"
+
+#: src/language/stats/logistic.c:1291
+msgid "Constant"
+msgstr "Constant"
+
+#: src/language/stats/logistic.c:1336
+msgid "Model Summary"
+msgstr "Model Summary"
+
+#: src/language/stats/logistic.c:1346
+msgid "-2 Log likelihood"
+msgstr "-2 Log Waarschijnlijkheid"
+
+#: src/language/stats/logistic.c:1350
+msgid "Cox & Snell R Square"
+msgstr ""
+
+#: src/language/stats/logistic.c:1354
+msgid "Nagelkerke R Square"
+msgstr ""
+
+#: src/language/stats/logistic.c:1383
+msgid "Unweighted Cases"
+msgstr "Ongewogen cases"
+
+#: src/language/stats/logistic.c:1388
+msgid "Included in Analysis"
+msgstr "In analyse meegenomen"
+
+#: src/language/stats/logistic.c:1389
+msgid "Missing Cases"
+msgstr "Ontbrekende Cases"
+
+#: src/language/stats/logistic.c:1438
+msgid "Categorical Variables' Codings"
+msgstr ""
+
+#: src/language/stats/logistic.c:1448 src/output/charts/plot-hist-cairo.c:119
+#: src/language/stats/frequencies.q:827
+msgid "Frequency"
+msgstr "Frequenties"
+
+#: src/language/stats/logistic.c:1451
+msgid "Parameter coding"
+msgstr "Parameter codering"
+
+#: src/language/stats/logistic.c:1457
+#, c-format
+msgid "(%d)"
+msgstr "(%d)"
+
+#: src/language/stats/logistic.c:1530
+msgid "Classification Table"
+msgstr "Classificatie Tabel"
+
+#: src/language/stats/logistic.c:1544
+msgid "Predicted"
+msgstr "Voorspeld"
+
+#: src/language/stats/logistic.c:1550
+msgid "Observed"
+msgstr "Waargenomen"
+
+#: src/language/stats/logistic.c:1556
+msgid ""
+"Percentage\n"
+"Correct"
+msgstr ""
+"Percentage\n"
+"Correct"
+
+#: src/language/stats/logistic.c:1560
+msgid "Overall Percentage"
+msgstr "Overall Percentage"
+
+#: src/language/stats/jonckheere-terpstra.c:364
+msgid "Jonckheere-Terpstra Test"
+msgstr "Jonckheere-Terpstra Test"
+
+#: src/language/stats/jonckheere-terpstra.c:378
+#, c-format
+msgid "Number of levels in %s"
+msgstr "Aantal niveaus in %s"
+
+#: src/language/stats/jonckheere-terpstra.c:381
+msgid "Observed J-T Statistic"
+msgstr "Observed J-T Statistic"
+
+#: src/language/stats/jonckheere-terpstra.c:382
+msgid "Mean J-T Statistic"
+msgstr "Observed J-T Statistic"
+
+#: src/language/stats/jonckheere-terpstra.c:383
+msgid "Std. Deviation of J-T Statistic"
+msgstr "Std. Deviation of J-T Statistic"
+
+#: src/language/stats/jonckheere-terpstra.c:384
+msgid "Std. J-T Statistic"
+msgstr "Std. J-T Statistic"
+
+#: src/language/stats/mann-whitney.c:202 src/language/stats/wilcoxon.c:240
+msgid "Sum of Ranks"
+msgstr "Som van Rangen"
+
+#: src/language/stats/mann-whitney.c:264
+msgid "Mann-Whitney U"
+msgstr "Mann-Whitney U"
+
+#: src/language/stats/mann-whitney.c:265
+msgid "Wilcoxon W"
+msgstr "Wilcoxon W"
+
+#: src/language/stats/mann-whitney.c:266 src/language/stats/runs.c:396
+#: src/language/stats/wilcoxon.c:317
+msgid "Z"
+msgstr "Z"
+
+#: src/language/stats/mann-whitney.c:271 src/language/stats/mcnemar.c:262
+#: src/language/stats/sign.c:133 src/language/stats/wilcoxon.c:322
+msgid "Exact Sig. (2-tailed)"
+msgstr "Exact Sig. (2-tailed)"
+
+#: src/language/stats/mann-whitney.c:272 src/language/stats/mcnemar.c:268
+#: src/language/stats/sign.c:139 src/language/stats/wilcoxon.c:326
+msgid "Point Probability"
+msgstr "Point Probability"
+
+#: src/language/stats/means.c:412
+msgid "Group Median"
+msgstr "Groep Mediaan"
+
+#: src/language/stats/means.c:416
+msgid "Min"
+msgstr "Min"
+
+#: src/language/stats/means.c:417
+msgid "Max"
+msgstr "Max"
+
+#: src/language/stats/means.c:424
+msgid "First"
+msgstr "Eerste"
+
+#: src/language/stats/means.c:425
+msgid "Last"
+msgstr "Laatste"
+
+#: src/language/stats/means.c:427
+msgid "Percent N"
+msgstr "Percentage N"
+
+#: src/language/stats/means.c:428
+msgid "Percent Sum"
+msgstr ""
+
+#: src/language/stats/means.c:430
+msgid "Harmonic Mean"
+msgstr "Harmonic Mean"
+
+#: src/language/stats/means.c:431
+msgid "Geom. Mean"
+msgstr "Geom. Mean"
+
+#: src/language/stats/means.c:1055
msgid "Included"
msgstr "Opgenomen"
-#: src/language/stats/means.c:1054 src/language/stats/reliability.c:530
+#: src/language/stats/means.c:1056 src/language/stats/reliability.c:557
msgid "Excluded"
msgstr "Uitgesloten"
-#: src/language/stats/means.c:1066 src/language/stats/crosstabs.q:839
-#: src/language/stats/examine.q:1178 src/language/stats/frequencies.q:823
-msgid "Percent"
-msgstr "Percentage"
-
-#: src/language/stats/means.c:1096 src/language/stats/means.c:1105
-#: src/language/stats/means.c:1114
+#: src/language/stats/means.c:1098 src/language/stats/means.c:1107
+#: src/language/stats/means.c:1116
#, c-format
msgid "%g%%"
msgstr "%g%%"
-#: src/language/stats/means.c:1147
+#: src/language/stats/means.c:1148
msgid "Report"
msgstr ""
msgid "Exact Sig. (1-tailed)"
msgstr "Exact Sig. (1-tailed)"
-#: src/language/stats/median.c:360
+#: src/language/stats/median.c:358
msgid "> Median"
msgstr "> Mediaan"
-#: src/language/stats/median.c:363
+#: src/language/stats/median.c:361
msgid "≤ Median"
msgstr "≤ Mediaan"
-#: src/language/stats/npar.c:511
+#: src/language/stats/npar.c:537
msgid "NPAR subcommand not currently implemented."
msgstr "NPAR subopdracht is op dit moment nog niet geïmplementeerd."
-#: src/language/stats/npar.c:665
+#: src/language/stats/npar.c:691
msgid "Expecting MEAN, MEDIAN, MODE or number"
msgstr "Verwacht MEAN, MEDIAN, MODE of nummer"
-#: src/language/stats/npar.c:815
+#: src/language/stats/npar.c:841
#, c-format
msgid "The specified value of HI (%d) is lower than the specified value of LO (%d)"
msgstr "De opgegeven waarde van HI (%d) is lager dan de opgegeven waarde van LO (%d)"
-#: src/language/stats/npar.c:865
+#: src/language/stats/npar.c:891
#, c-format
msgid "%d expected values were given, but the specified range (%d-%d) requires exactly %d values."
msgstr "%d verwachte waardes waren opgegeven, maar het opgegeven bereik (%d-%d) vereist precies %d waardes."
-#: src/language/stats/npar.c:1078 src/language/stats/t-test-parser.c:163
+#: src/language/stats/npar.c:1106 src/language/stats/t-test-parser.c:163
#, c-format
msgid "PAIRED was specified but the number of variables preceding WITH (%zu) did not match the number following (%zu)."
msgstr "PAIRED was opgegeven maar het aantal variabelen voor WITH (%zu) komt niet overeen met het aantal er achter (%zu)."
-#: src/language/stats/npar-summary.c:142 src/language/stats/examine.q:1995
-#: src/language/stats/examine.q:2012 src/language/stats/frequencies.q:1057
-#: src/ui/gui/examine.ui:345
-msgid "Percentiles"
-msgstr "Percentiles"
-
#: src/language/stats/npar-summary.c:146
msgid "25th"
msgstr "25ste"
msgid "Šidák"
msgstr "Šidák"
-#: src/language/stats/oneway.c:480
+#: src/language/stats/oneway.c:511
#, c-format
msgid "The post hoc analysis method %s is not supported."
msgstr ""
-#: src/language/stats/oneway.c:781
+#: src/language/stats/oneway.c:826
#, c-format
msgid "Dependent variable %s has no non-missing values. No analysis for this variable will be done."
msgstr ""
-#: src/language/stats/oneway.c:858
+#: src/language/stats/oneway.c:904
#, c-format
msgid "In contrast list %zu, the number of coefficients (%zu) does not equal the number of groups (%d). This contrast list will be ignored."
msgstr ""
-#: src/language/stats/oneway.c:869
+#: src/language/stats/oneway.c:916
#, c-format
msgid "Coefficients for contrast %zu do not total zero"
msgstr ""
-#: src/language/stats/oneway.c:922 src/language/stats/regression.q:285
+#: src/language/stats/oneway.c:969 src/language/stats/regression.c:855
msgid "Sum of Squares"
msgstr "Sum of Squares"
-#: src/language/stats/oneway.c:926 src/language/stats/oneway.c:1173
-#: src/language/stats/regression.q:203 src/language/stats/regression.q:289
+#: src/language/stats/oneway.c:973 src/language/stats/oneway.c:1220
+#: src/language/stats/regression.c:773 src/language/stats/regression.c:859
msgid "Significance"
msgstr "Significantie "
-#: src/language/stats/oneway.c:944
+#: src/language/stats/oneway.c:991
msgid "Between Groups"
msgstr "Tussen groepen"
-#: src/language/stats/oneway.c:945
+#: src/language/stats/oneway.c:992
msgid "Within Groups"
msgstr "Binnen groepen"
-#: src/language/stats/oneway.c:978 src/language/stats/regression.q:314
+#: src/language/stats/oneway.c:1025
msgid "ANOVA"
msgstr "ANOVA"
-#: src/language/stats/oneway.c:1019 src/language/stats/oneway.c:1326
-#: src/language/stats/oneway.c:1531 src/language/stats/roc.c:975
-#: src/language/stats/examine.q:1640 src/language/stats/regression.q:200
-msgid "Std. Error"
-msgstr "Std. Fout"
-
-#: src/language/stats/oneway.c:1025 src/language/stats/examine.q:1448
-#, c-format
-msgid "%g%% Confidence Interval for Mean"
-msgstr ""
-
-#: src/language/stats/oneway.c:1028 src/language/stats/oneway.c:1538
-#: src/language/stats/roc.c:978 src/language/stats/examine.q:1454
-msgid "Lower Bound"
-msgstr "Benedengrens"
-
-#: src/language/stats/oneway.c:1029 src/language/stats/oneway.c:1539
-#: src/language/stats/roc.c:979 src/language/stats/examine.q:1459
-msgid "Upper Bound"
-msgstr "Bovengrens"
-
-#: src/language/stats/oneway.c:1034 src/language/stats/examine.q:1634
-#: src/ui/gui/descriptives.ui:8 src/ui/gui/examine.ui:319
-msgid "Descriptives"
-msgstr "Descriptieve"
-
-#: src/language/stats/oneway.c:1170
+#: src/language/stats/oneway.c:1217
msgid "Levene Statistic"
msgstr "Levene Statistiek"
-#: src/language/stats/oneway.c:1171
+#: src/language/stats/oneway.c:1218
msgid "df1"
msgstr "df1"
-#: src/language/stats/oneway.c:1172
+#: src/language/stats/oneway.c:1219
msgid "df2"
msgstr "df2"
-#: src/language/stats/oneway.c:1175
+#: src/language/stats/oneway.c:1222
msgid "Test of Homogeneity of Variances"
msgstr ""
-#: src/language/stats/oneway.c:1248
+#: src/language/stats/oneway.c:1295
msgid "Contrast Coefficients"
msgstr "Contrastcoëfficiënten"
-#: src/language/stats/oneway.c:1250 src/language/stats/oneway.c:1324
+#: src/language/stats/oneway.c:1297 src/language/stats/oneway.c:1371
msgid "Contrast"
msgstr "Contrast"
-#: src/language/stats/oneway.c:1322
+#: src/language/stats/oneway.c:1369
msgid "Contrast Tests"
msgstr "Contrasttesten"
-#: src/language/stats/oneway.c:1325
+#: src/language/stats/oneway.c:1372
msgid "Value of Contrast"
msgstr ""
-#: src/language/stats/oneway.c:1327 src/language/stats/t-test-indep.c:290
+#: src/language/stats/oneway.c:1374 src/language/stats/regression.c:772
+#: src/language/stats/t-test-indep.c:290
#: src/language/stats/t-test-one-sample.c:94
-#: src/language/stats/t-test-paired.c:305 src/language/stats/regression.q:202
+#: src/language/stats/t-test-paired.c:305
msgid "t"
msgstr "t"
-#: src/language/stats/oneway.c:1379
+#: src/language/stats/oneway.c:1426
msgid "Assume equal variances"
msgstr "Veronderstelt gelijke variantie"
-#: src/language/stats/oneway.c:1383
+#: src/language/stats/oneway.c:1430
msgid "Does not assume equal"
msgstr "Veronderstelt niet gelijk"
-#: src/language/stats/oneway.c:1525
+#: src/language/stats/oneway.c:1572
msgid "Multiple Comparisons"
msgstr "Meervoudige Vergelijkingen"
-#: src/language/stats/oneway.c:1527
+#: src/language/stats/oneway.c:1574
#, c-format
msgid "(I) %s"
msgstr "(I) %s"
-#: src/language/stats/oneway.c:1528
+#: src/language/stats/oneway.c:1575
#, c-format
msgid "(J) %s"
msgstr "(J) %s"
-#: src/language/stats/oneway.c:1529 src/language/stats/t-test-indep.c:293
+#: src/language/stats/oneway.c:1576 src/language/stats/t-test-indep.c:293
#: src/language/stats/t-test-one-sample.c:97
msgid "Mean Difference"
msgstr "Gemiddeld verschil"
-#: src/language/stats/oneway.c:1530
+#: src/language/stats/oneway.c:1577
msgid "(I - J)"
msgstr "(I - J)"
-#: src/language/stats/oneway.c:1535
+#: src/language/stats/oneway.c:1582
#, c-format
msgid "%g%% Confidence Interval"
msgstr "%g%% Betrouwbaarheidsinterval"
msgid "Number of clusters may not be larger than the number of cases."
msgstr "Aantal clusters mag niet groter dan aantal cases zijn."
-#: src/language/stats/quick-cluster.c:403
+#: src/language/stats/quick-cluster.c:402
msgid "Final Cluster Centers"
msgstr ""
-#: src/language/stats/quick-cluster.c:407
+#: src/language/stats/quick-cluster.c:406
msgid "Initial Cluster Centers"
msgstr ""
-#: src/language/stats/quick-cluster.c:410
-#: src/language/stats/quick-cluster.c:464
+#: src/language/stats/quick-cluster.c:409
+#: src/language/stats/quick-cluster.c:463
msgid "Cluster"
msgstr "Cluster"
-#: src/language/stats/quick-cluster.c:462
+#: src/language/stats/quick-cluster.c:461
msgid "Number of Cases in each Cluster"
msgstr "Aantal cases in elke cluster"
-#: src/language/stats/quick-cluster.c:476 src/language/stats/reliability.c:527
-#: src/language/stats/crosstabs.q:829 src/language/stats/examine.q:1102
-#: src/language/stats/frequencies.q:1042
-msgid "Valid"
-msgstr "Geldig"
+#: src/language/stats/rank.c:206
+#, c-format
+msgid "Cannot generate variable name for ranking %s with %s. All candidates in use."
+msgstr "Kan geen variabele naam genereren voor rang %s met %s. Alle kandidaten zijn in gebruik."
-#: src/language/stats/rank.c:207
-msgid "Cannot create new rank variable. All candidates in use."
-msgstr "Kan geen rang variabele creëren. Alle kandidaten zijn in gebruik."
+#: src/language/stats/rank.c:321
+msgid "Too many variables in INTO clause."
+msgstr "Te veel variabelen in INTO clausule."
-#: src/language/stats/rank.c:326
+#: src/language/stats/rank.c:323
#, c-format
msgid "Variable %s already exists."
msgstr "Variabele %s bestaat al."
-#: src/language/stats/rank.c:332
-msgid "Too many variables in INTO clause."
-msgstr "Te veel variabelen in INTO clausule."
+#: src/language/stats/rank.c:325 src/language/expressions/evaluate.c:164
+#, c-format
+msgid "Duplicate variable name %s."
+msgstr "Dubbele variabelennaam %s."
-#: src/language/stats/rank.c:647
+#: src/language/stats/rank.c:631
#, c-format
msgid "%s of %s by %s"
msgstr "%s van %s per %s"
-#: src/language/stats/rank.c:652
+#: src/language/stats/rank.c:636
#, c-format
msgid "%s of %s"
msgstr "%s van %s"
-#: src/language/stats/rank.c:829
+#: src/language/stats/rank.c:823
msgid "Variables Created By RANK"
msgstr "Variabelen gecreëerd door RANK"
-#: src/language/stats/rank.c:853
+#: src/language/stats/rank.c:847
#, c-format
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.c:863
+#: src/language/stats/rank.c:857
#, c-format
msgid "%s into %s(%s of %s BY %s)"
msgstr "%s in %s(%s van %s PER %s)"
-#: src/language/stats/rank.c:876
+#: src/language/stats/rank.c:870
#, c-format
msgid "%s into %s(%s of %s using %s)"
msgstr "%s in %s(%s van %s gebruikt %s"
-#: src/language/stats/rank.c:885
+#: src/language/stats/rank.c:879
#, c-format
msgid "%s into %s(%s of %s)"
msgstr "%s in %s(%s van %s)"
-#: src/language/stats/reliability.c:141
+#: src/language/stats/reliability.c:163
msgid "Reliability on a single variable is not useful."
msgstr "Betrouwbaarheidsanalyse op een enkele variabele is niet zinvol."
-#: src/language/stats/reliability.c:538
+#: src/language/stats/reliability.c:290
+#, fuzzy
+msgid "The split point must be less than the number of variables"
+msgstr "Aantal clusters mag niet groter dan aantal cases zijn."
+
+#: src/language/stats/reliability.c:502
+#, fuzzy, c-format
+msgid "Scale: %s"
+msgstr "Schaal: "
+
+#: src/language/stats/reliability.c:565 src/ui/gui/logistic.ui:288
msgid "%"
msgstr "%"
-#: src/language/stats/reliability.c:583
+#: src/language/stats/reliability.c:610
msgid "Item-Total Statistics"
msgstr "Item-Totaal Statistieken"
-#: src/language/stats/reliability.c:605
+#: src/language/stats/reliability.c:632
msgid "Scale Mean if Item Deleted"
msgstr ""
-#: src/language/stats/reliability.c:608
+#: src/language/stats/reliability.c:635
msgid "Scale Variance if Item Deleted"
msgstr ""
-#: src/language/stats/reliability.c:611
+#: src/language/stats/reliability.c:638
msgid "Corrected Item-Total Correlation"
msgstr ""
-#: src/language/stats/reliability.c:614
+#: src/language/stats/reliability.c:641
msgid "Cronbach's Alpha if Item Deleted"
msgstr "Cronbach's Alpha if Item Deleted"
-#: src/language/stats/reliability.c:688
+#: src/language/stats/reliability.c:715
msgid "Reliability Statistics"
msgstr "Betrouwbaarheids Statistieken"
-#: src/language/stats/reliability.c:728 src/language/stats/reliability.c:747
+#: src/language/stats/reliability.c:755 src/language/stats/reliability.c:774
msgid "Cronbach's Alpha"
msgstr "Cronbach's Alpha"
-#: src/language/stats/reliability.c:731 src/language/stats/reliability.c:756
-#: src/language/stats/reliability.c:767
+#: src/language/stats/reliability.c:758 src/language/stats/reliability.c:783
+#: src/language/stats/reliability.c:794
msgid "N of Items"
msgstr "N van Items"
-#: src/language/stats/reliability.c:750
+#: src/language/stats/reliability.c:777
msgid "Part 1"
msgstr "Deel 1"
-#: src/language/stats/reliability.c:761
+#: src/language/stats/reliability.c:788
msgid "Part 2"
msgstr "Deel 2"
-#: src/language/stats/reliability.c:772
+#: src/language/stats/reliability.c:799
msgid "Total N of Items"
msgstr "Totaal N van Items"
-#: src/language/stats/reliability.c:775
+#: src/language/stats/reliability.c:802
msgid "Correlation Between Forms"
msgstr "Correlatie Tussen Formulieren"
-#: src/language/stats/reliability.c:779
+#: src/language/stats/reliability.c:806
msgid "Spearman-Brown Coefficient"
msgstr "Spearman-Brown Coefficient"
-#: src/language/stats/reliability.c:782
+#: src/language/stats/reliability.c:809
msgid "Equal Length"
msgstr "Gelijke lengte"
-#: src/language/stats/reliability.c:785
+#: src/language/stats/reliability.c:812
msgid "Unequal Length"
msgstr "Ongelijke lengte"
-#: src/language/stats/reliability.c:789
+#: src/language/stats/reliability.c:816
msgid "Guttman Split-Half Coefficient"
msgstr "Guttman Split-Half Coëfficiënt"
msgid "1 - Specificity"
msgstr "1 - Specificity"
+#: src/language/stats/regression.c:506
+msgid "The dependent variable is equal to the independent variable.The least squares line is therefore Y=X.Standard errors and related statistics may be meaningless."
+msgstr ""
+
+#: src/language/stats/regression.c:688
+msgid "No valid data found. This command was skipped."
+msgstr "Geen geldige gegevens gevonden. Deze opdracht is overgeslagen."
+
+#: src/language/stats/regression.c:727
+#: src/ui/gui/psppire-dialog-action-regression.c:41
+msgid "R"
+msgstr "R"
+
+#: src/language/stats/regression.c:728
+msgid "R Square"
+msgstr "R Square"
+
+#: src/language/stats/regression.c:729
+msgid "Adjusted R Square"
+msgstr "Adjusted R Square"
+
+#: src/language/stats/regression.c:730
+msgid "Std. Error of the Estimate"
+msgstr "Std. Error of the Estimate"
+
+#: src/language/stats/regression.c:735
+#, c-format
+msgid "Model Summary (%s)"
+msgstr "Model Summary (%s)"
+
+#: src/language/stats/regression.c:771
+msgid "Beta"
+msgstr "Beta"
+
+#: src/language/stats/regression.c:774
+msgid "(Constant)"
+msgstr "(Constante)"
+
+#: src/language/stats/regression.c:826
+#, c-format
+msgid "Coefficients (%s)"
+msgstr "Coëfficiënten (%s)"
+
+#: src/language/stats/regression.c:861 src/ui/gui/regression.ui:7
+msgid "Regression"
+msgstr "Regressie"
+
+#: src/language/stats/regression.c:884
+#, c-format
+msgid "ANOVA (%s)"
+msgstr "ANOVA (%s)"
+
+#: src/language/stats/regression.c:911
+msgid "Covariances"
+msgstr "Covarianties"
+
+#: src/language/stats/regression.c:926
+#, c-format
+msgid "Coefficient Correlations (%s)"
+msgstr "Coëfficiëntcorrelaties (%s)"
+
#: src/language/stats/runs.c:167
#, c-format
msgid "Multiple modes exist for varible `%s'. Using %g as the threshold value."
msgid "Std. Error Difference"
msgstr "Std. Error Difference"
-#: src/language/stats/t-test-indep.c:295
-#: src/language/stats/t-test-one-sample.c:98
-#: src/language/stats/t-test-paired.c:312 src/language/stats/crosstabs.q:1284
-msgid "Lower"
-msgstr "Lager"
-
-#: src/language/stats/t-test-indep.c:296
-#: src/language/stats/t-test-one-sample.c:99
-#: src/language/stats/t-test-paired.c:313 src/language/stats/crosstabs.q:1285
-msgid "Upper"
-msgstr "Hoger"
-
#: src/language/stats/t-test-indep.c:299
#: src/language/stats/t-test-one-sample.c:89
#: src/language/stats/t-test-paired.c:300
msgid "Too many pairs to calculate exact significance."
msgstr "Te veel paren om exacte significantie te berekenen."
-#: src/language/data-io/combine-files.c:212
+#: src/language/data-io/combine-files.c:214
msgid "Cannot specify the active dataset since none has been defined."
msgstr "Kan de actieve dataset niet specificeren omdat er geen gedefinieerd is."
-#: src/language/data-io/combine-files.c:218
+#: src/language/data-io/combine-files.c:220
msgid "This command may not be used after TEMPORARY when the active dataset is an input source. Temporary transformations will be made permanent."
msgstr "Deze opdracht mag niet gebruikt worden na TEMPORARY als het actieve bestand een invoer bron is. Tijdelijke transformaties zullen permanent worden."
-#: src/language/data-io/combine-files.c:252
+#: src/language/data-io/combine-files.c:254
msgid "Multiple IN subcommands for a single FILE or TABLE."
msgstr "Meerdere IN subopdrachten voor een enkele FILE of TABLE."
-#: src/language/data-io/combine-files.c:304
+#: src/language/data-io/combine-files.c:306
#, c-format
msgid "File %s lacks BY variable %s."
msgstr "Bestand %s mist BY variabele %s."
-#: src/language/data-io/combine-files.c:307
+#: src/language/data-io/combine-files.c:309
#, c-format
msgid "Active dataset lacks BY variable %s."
msgstr "Actieve dataset mist BY variabele %s."
-#: src/language/data-io/combine-files.c:384
-#: src/language/data-io/combine-files.c:389
+#: src/language/data-io/combine-files.c:386
+#: src/language/data-io/combine-files.c:391
#, c-format
msgid "BY is required when %s is specified."
msgstr "BY is noodzakelijk als %s is gespecificeerd."
-#: src/language/data-io/combine-files.c:514
+#: src/language/data-io/combine-files.c:519
msgid "Combining files with incompatible encodings. String data may not be represented correctly."
msgstr "Combineren van bestanden met incompatibele codering. Tekenreeks gegevens worden mogelijk niet correct weergegeven."
-#: src/language/data-io/combine-files.c:555
+#: src/language/data-io/combine-files.c:560
#, c-format
msgid "Variable %s in file %s has different type or width from the same variable in earlier file."
msgstr "Variabele %s in bestand %s heeft een ander type of breedte dan dezelfde variabele in eerder bestand."
-#: src/language/data-io/combine-files.c:561
+#: src/language/data-io/combine-files.c:566
#, c-format
msgid "In file %s, %s is numeric."
msgstr "In bestand %s, %s is numeriek."
-#: src/language/data-io/combine-files.c:564
+#: src/language/data-io/combine-files.c:569
#, c-format
msgid "In file %s, %s is a string variable with width %d."
msgstr "In bestand %s, %s is een tekenreeksvariabele met breedte %d."
-#: src/language/data-io/combine-files.c:569
+#: src/language/data-io/combine-files.c:574
#, c-format
msgid "In an earlier file, %s was numeric."
msgstr "In een eerder bestand, %s was numeriek."
-#: src/language/data-io/combine-files.c:572
+#: src/language/data-io/combine-files.c:577
#, c-format
msgid "In an earlier file, %s was a string variable with width %d."
msgstr "In een eerder bestand, %s was een tekenreeks met breedte %d."
-#: src/language/data-io/combine-files.c:612
+#: src/language/data-io/combine-files.c:617
#, c-format
msgid "Variable name %s specified on %s subcommand duplicates an existing variable name."
msgstr "Variabelennaam %s gespecificeerd in %s-subopdracht dupliceert een bestaande variabelennaam."
-#: src/language/data-io/combine-files.c:774
+#: src/language/data-io/combine-files.c:789
#, c-format
msgid "Encountered %zu sets of duplicate cases in the master file."
msgstr "Gevonden% zu sets van dubbele cases in het master-bestand."
-#: src/language/data-io/data-list.c:140
+#: src/language/data-io/data-list.c:141
msgid "The END subcommand may only be used within INPUT PROGRAM."
msgstr "De END-subopdracht mag alleen binnen INPUT PROGRAM gebruikt worden."
-#: src/language/data-io/data-list.c:146
+#: src/language/data-io/data-list.c:147
msgid "The END subcommand may only be specified once."
msgstr "De END-subopdracht mag slechts 1 keer gespecificeerd worden."
-#: src/language/data-io/data-list.c:184
+#: src/language/data-io/data-list.c:185
msgid "Only one of FIXED, FREE, or LIST may be specified."
msgstr "Slechts 1 van FIXED, FREE of LIST mag gespecificeerd worden."
-#: src/language/data-io/data-list.c:245
+#: src/language/data-io/data-list.c:246
msgid "Encoding should not be specified for inline data. It will be ignored."
msgstr "Codering dient niet opgegeven te worden voor inline-gegevens. Het wordt genegeerd."
-#: src/language/data-io/data-list.c:254
+#: src/language/data-io/data-list.c:255
msgid "The END subcommand may be used only with DATA LIST FIXED."
msgstr "De END-subopdracht mag alleen gebruikt worden met DATA LIST FIXED."
-#: src/language/data-io/data-list.c:269
+#: src/language/data-io/data-list.c:270
msgid "At least one variable must be specified."
msgstr "Tenminste 1 variabele moet gespecificeerd worden."
-#: src/language/data-io/data-list.c:368 src/language/data-io/data-list.c:457
-#: src/language/data-io/get-data.c:592
+#: src/language/data-io/data-list.c:369 src/language/data-io/data-list.c:477
+#: src/language/data-io/get-data.c:645
#, c-format
msgid "%s is a duplicate variable name."
msgstr "%s is een dubbele variabelennaam."
-#: src/language/data-io/data-list.c:375
+#: src/language/data-io/data-list.c:376
#, c-format
msgid "There is already a variable %s of a different type."
msgstr "Er is al een variabele %s van een ander type."
-#: src/language/data-io/data-list.c:382
+#: src/language/data-io/data-list.c:383
#, c-format
msgid "There is already a string variable %s of a different width."
msgstr "Er is al een tekenreeksvariabele %s van een andere breedte."
-#: src/language/data-io/data-list.c:390
+#: src/language/data-io/data-list.c:391
#, c-format
msgid "Cannot place variable %s on record %d when RECORDS=%d is specified."
msgstr "Kan variabele %s niet plaatsen in record %d als RECORDS=%d is gespecificeerd."
msgid "Quoted string extends beyond end of line."
msgstr "Geciteerde tekenreeks loopt door na regeleinde."
-#: src/language/data-io/data-parser.c:516
+#: src/language/data-io/data-parser.c:486
+msgid "Missing delimiter following quoted string."
+msgstr "Ontbrekende scheider na aangehaalde tekenreeks."
+
+#: src/language/data-io/data-parser.c:524
#, c-format
msgid "Data for variable %s is not valid as format %s: %s"
msgstr "Data voor variabele %s is niet geldig als opmaak %s: %s"
-#: src/language/data-io/data-parser.c:545
+#: src/language/data-io/data-parser.c:553
#, c-format
msgid "Partial case of %d of %d records discarded."
msgstr "Gedeeltelijke case van %d van %d records genegeerd."
-#: src/language/data-io/data-parser.c:602
+#: src/language/data-io/data-parser.c:610
#, c-format
msgid "Partial case discarded. The first variable missing was %s."
msgstr "Gedeeltelijke case overgeslagen. De eerste gemiste variabele was %s."
-#: src/language/data-io/data-parser.c:644
+#: src/language/data-io/data-parser.c:652
#, c-format
msgid "Missing value(s) for all variables from %s onward. These will be filled with the system-missing value or blanks, as appropriate."
msgstr "Ontbrekende-waarde(s) voor alle variabelen vanaf %s. Deze worden gevuld met de geschikte system-missing waarde of spatie."
-#: src/language/data-io/data-parser.c:664
+#: src/language/data-io/data-parser.c:672
msgid "Record ends in data not part of any field."
msgstr "Record eindigt in gegeven dat geen onderdeel is van een veld."
-#: src/language/data-io/data-parser.c:684 src/language/data-io/print.c:404
+#: src/language/data-io/data-parser.c:692 src/language/data-io/print.c:447
msgid "Record"
msgstr "Record"
-#: src/language/data-io/data-parser.c:685 src/language/data-io/print.c:405
-#: src/ui/gui/psppire-var-sheet.c:538 src/ui/gui/psppire-var-store.c:775
+#: src/language/data-io/data-parser.c:693 src/language/data-io/print.c:448
+#: src/ui/gui/psppire-var-sheet.c:558 src/ui/gui/psppire-var-store.c:780
msgid "Columns"
msgstr "Kolommen"
-#: src/language/data-io/data-parser.c:686
-#: src/language/data-io/data-parser.c:723 src/language/data-io/print.c:406
+#: src/language/data-io/data-parser.c:694
+#: src/language/data-io/data-parser.c:731 src/language/data-io/print.c:449
msgid "Format"
msgstr "Indeling"
-#: src/language/data-io/data-parser.c:704
+#: src/language/data-io/data-parser.c:712
#, c-format
msgid "Reading %d record from %s."
msgid_plural "Reading %d records from %s."
-msgstr[0] "Lezen %d record van %s."
-msgstr[1] "Lezen %d records van %s."
+msgstr[0] "Gelezen %d record van %s."
+msgstr[1] "Gelezen %d records van %s."
-#: src/language/data-io/data-parser.c:738
+#: src/language/data-io/data-parser.c:746
#, c-format
msgid "Reading free-form data from %s."
msgstr "Lezen vrije-vorm gegeven van %s."
#. TRANSLATORS: this fragment will be interpolated into
#. messages in fh_lock() that identify types of files.
-#: src/language/data-io/data-reader.c:123
-#: src/language/data-io/data-writer.c:58
+#: src/language/data-io/data-reader.c:138
+#: src/language/data-io/data-writer.c:79
msgid "data file"
msgstr "gegevensbestand"
-#: src/language/data-io/data-reader.c:148
+#: src/language/data-io/data-reader.c:163
#, c-format
msgid "Could not open `%s' for reading as a data file: %s."
msgstr "Kon '%s' niet openen voor het lezen als gegevensbestand: %s."
-#: src/language/data-io/data-reader.c:198
+#: src/language/data-io/data-reader.c:180
+#, c-format
+msgid "Could not read `%s' as a text file with encoding `%s': %s."
+msgstr "Kon '%s' niet lezen als een tekst bestand met codering `%s': %s."
+
+#: src/language/data-io/data-reader.c:239
msgid "Missing END DATA while reading inline data. This probably indicates a missing or incorrectly formatted END DATA command. END DATA must appear by itself on a single line with exactly one space between words."
msgstr "Mis END DATA tijdens het lezen van inline data. Dit geeft waarschijnlijk een ontbrekend of incorrect gespecificeerd END DATA opdracht aan. END DATA moet alleen op een enkele regel met precies een spatie tussen de woorden voorkomen."
-#: src/language/data-io/data-reader.c:219
+#: src/language/data-io/data-reader.c:259
+#: src/language/data-io/data-reader.c:393
#, c-format
msgid "Error reading file %s: %s."
msgstr "Fout tijdens lezen bestand %s: %s."
-#: src/language/data-io/data-reader.c:222
-#, c-format
-msgid "Unexpected end of file reading %s."
-msgstr "Onverwacht einde tijdens lezen van bestand %s."
-
-#: src/language/data-io/data-reader.c:231
+#: src/language/data-io/data-reader.c:267
#, c-format
msgid "Unexpected end of file in partial record reading %s."
msgstr "Unexpected end of file in partial record reading %s."
-#: src/language/data-io/data-reader.c:291
+#: src/language/data-io/data-reader.c:327
#, c-format
msgid "Corrupt block descriptor word at offset 0x%lx in %s."
msgstr "Corrupt blok beschrijvend woord op offset 0x%lx in %s."
-#: src/language/data-io/data-reader.c:292
+#: src/language/data-io/data-reader.c:328
#, c-format
msgid "Corrupt record descriptor word at offset 0x%lx in %s."
msgstr "Corrupt record descriptor word at offset 0x%lx in %s."
-#: src/language/data-io/data-reader.c:305
+#: src/language/data-io/data-reader.c:341
#, c-format
msgid "Corrupt record size at offset 0x%lx in %s."
msgstr "Corrupt record size at offset 0x%lx in %s."
-#: src/language/data-io/data-reader.c:445
+#: src/language/data-io/data-reader.c:499
msgid "Record exceeds remaining block length."
msgstr "Record overschrijdt resterende bloklengte."
-#: src/language/data-io/data-reader.c:519
+#: src/language/data-io/data-reader.c:573
#, c-format
msgid "Attempt to read beyond end-of-file on file %s."
msgstr "Poging om te lezen na einde-bestand in bestand %s."
-#: src/language/data-io/data-reader.c:522
+#: src/language/data-io/data-reader.c:576
msgid "Attempt to read beyond END DATA."
msgstr "Poging om te lezen na END DATA."
-#: src/language/data-io/data-reader.c:706
+#: src/language/data-io/data-reader.c:764
msgid "This command is not valid here since the current input program does not access the inline file."
msgstr "Deze opdracht is hier niet geldig omdat het huidige invoerprogramma het inline-bestand niet benaderd."
-#: src/language/data-io/data-writer.c:73
+#: src/language/data-io/data-writer.c:107
#, c-format
msgid "An error occurred while opening `%s' for writing as a data file: %s."
msgstr "Een fout is opgetreden tijdens het openen van '%s' voor schrijven als gegevensbestand: %s."
-#: src/language/data-io/data-writer.c:190
+#: src/language/data-io/data-writer.c:225
#, c-format
msgid "I/O error occurred writing data file `%s'."
msgstr "I/O fout opgetreden tijdens schrijven gegevensbestand '%s'."
msgid "(active dataset)"
msgstr "(actieve dataset)"
-#: src/language/data-io/get-data.c:99
+#: src/language/data-io/get-data.c:120
#, c-format
msgid "Unsupported TYPE %s."
msgstr "Niet ondersteund TYPE %s."
-#: src/language/data-io/get-data.c:293
+#: src/language/data-io/get-data.c:255
+msgid "The sheet index must be greater than or equal to 1"
+msgstr "De blad index moet groter dan of geijk aan 1 zijn"
+
+#: src/language/data-io/get-data.c:262 src/language/data-io/get-data.c:285
+#: src/language/data-io/get-data.c:304
+#, c-format
+msgid "%s must be followed by either \"%s\" or \"%s\"."
+msgstr ""
+
+#: src/language/data-io/get-data.c:334
#, c-format
msgid "%s is allowed only with %s arrangement, but %s arrangement was stated or implied earlier in this command."
msgstr "%s is alleen toegestaan met %s regeling, maar %s regeling was eerder opgegeven of geïmpliceerd in deze opdracht."
-#: src/language/data-io/get-data.c:362
+#: src/language/data-io/get-data.c:415
msgid "Value of FIRSTCASE must be 1 or greater."
msgstr "Waarde van FIRSTCASE moet 1 of groter zijn."
-#: src/language/data-io/get-data.c:400
+#: src/language/data-io/get-data.c:453
msgid "Value of FIXCASE must be at least 1."
msgstr "Waarde van FIXCASE moet tenminste 1 zijn."
-#: src/language/data-io/get-data.c:420
+#: src/language/data-io/get-data.c:473
msgid "Value of FIRST must be at least 1."
msgstr "Waarde van FIRST moet tenminste 1 zijn."
-#: src/language/data-io/get-data.c:432
+#: src/language/data-io/get-data.c:485
msgid "Value of PERCENT must be between 1 and 100."
msgstr "Waarde van PERCENT moet tussen 1 en 100 zijn."
-#: src/language/data-io/get-data.c:483
+#: src/language/data-io/get-data.c:536
msgid "In compatible syntax mode, the QUALIFIER string must contain exactly one character."
msgstr "In compatibele syntaxmodus, dient de QUALIFIER tekenreeks precies één teken te bevatten."
-#: src/language/data-io/get-data.c:518
-#: src/language/data-io/placement-parser.c:377
+#: src/language/data-io/get-data.c:571
+#: src/language/data-io/placement-parser.c:406
#, c-format
msgid "The record number specified, %ld, is at or before the previous record, %d. Data fields must be listed in order of increasing record number."
msgstr "Het opgegeven recordnummer, %ld, is op of voor het huidige record, %d. Gegevensvelden dienen opgegeven te worden in oplopende recordnummer volgorde."
-#: src/language/data-io/get-data.c:527
+#: src/language/data-io/get-data.c:580
#, c-format
msgid "The record number specified, %ld, exceeds the number of records per case specified on FIXCASE, %d."
msgstr "Het gespecificeerde recordnummer, %ld, overschrijdt het aantal records per case zoals gespecificeerd in FIXCASE, %d."
-#: src/language/data-io/inpt-pgm.c:118
+#: src/language/data-io/inpt-pgm.c:120
msgid "Unexpected end-of-file within INPUT PROGRAM."
msgstr "Onverwacht einde-bestand binnen INPUT PROGRAM."
-#: src/language/data-io/inpt-pgm.c:131
+#: src/language/data-io/inpt-pgm.c:133
msgid "Input program did not create any variables."
msgstr "Invoerprogramma heeft geen variabelen gecreëerd."
-#: src/language/data-io/inpt-pgm.c:330
+#: src/language/data-io/inpt-pgm.c:345
msgid "REREAD: Column numbers must be positive finite numbers. Column set to 1."
msgstr "REREAD: Kolomnummers moeten positieve eindige nummers zijn. Kolom is op 1 gezet."
-#: src/language/data-io/placement-parser.c:86
+#: src/language/data-io/placement-parser.c:96
#, c-format
msgid "Number of variables specified (%zu) differs from number of variable formats (%zu)."
msgstr "Aantal gespecificeerde variabelen (%zu) verschilt van aantal variabele formats (%zu)."
-#: src/language/data-io/placement-parser.c:96
+#: src/language/data-io/placement-parser.c:106
msgid "SPSS-like or Fortran-like format specification expected after variable names."
msgstr "SPSS-achtig of Fortran-achtig format-specificatie verwacht na variabelennaam."
-#: src/language/data-io/placement-parser.c:118
+#: src/language/data-io/placement-parser.c:129
#, c-format
msgid "The %d columns %d-%d can't be evenly divided into %zu fields."
msgstr "De %d kolommen %d-%d kunnen niet gelijk verdeeld worden in %zu velden."
-#: src/language/data-io/placement-parser.c:302
+#: src/language/data-io/placement-parser.c:310
msgid "Column positions for fields must be positive."
msgstr "Kolomposities voor velden moeten positief zijn."
-#: src/language/data-io/placement-parser.c:304
+#: src/language/data-io/placement-parser.c:312
msgid "Column positions for fields must not be negative."
msgstr "Kolomposities voor velden mogen niet negatief zijn."
-#: src/language/data-io/placement-parser.c:343
+#: src/language/data-io/placement-parser.c:372
msgid "The ending column for a field must be greater than the starting column."
msgstr "De eindkolom van een veld moet groter zijn dan de startkolom."
-#: src/language/data-io/print-space.c:115
+#: src/language/data-io/print-space.c:127
msgid "The expression on PRINT SPACE evaluated to the system-missing value."
msgstr "De expressie bij PRINT SPACE evalueerde tot de system-missing waarde."
-#: src/language/data-io/print-space.c:118
+#: src/language/data-io/print-space.c:130
#, c-format
msgid "The expression on PRINT SPACE evaluated to %g."
msgstr "De expressie bij PRINT SPACE evalueerde tot %g."
-#: src/language/data-io/print.c:179 src/language/data-io/trim.c:54
+#: src/language/data-io/print.c:193 src/language/data-io/trim.c:54
msgid "expecting a valid subcommand"
msgstr "een geldige subopdracht werd verwacht"
-#: src/language/data-io/print.c:267
+#: src/language/data-io/print.c:223
+msgid "OUTFILE is required when binary formats are specified."
+msgstr "OUTFILE is verplicht als binaire formaten zijn gespecificieerd."
+
+#: src/language/data-io/print.c:306
#, c-format
msgid "Output calls for %d records but %zu specified on RECORDS subcommand."
msgstr "De uitvoer vraagt %d records maar %zu gespecificeerd in RECORDS-subopdracht."
-#: src/language/data-io/print.c:436
+#: src/language/data-io/print.c:479
#, c-format
msgid "Writing %zu record to %s."
msgid_plural "Writing %zu records to %s."
msgstr[0] "Schrijven van %zu record naar %s."
msgstr[1] "Schrijven van %zu records naar %s."
-#: src/language/data-io/print.c:440
+#: src/language/data-io/print.c:483
#, c-format
msgid "Writing %zu record."
msgid_plural "Writing %zu records."
msgstr[0] "Schrijven van %zu record."
msgstr[1] "Schrijven van %zu records."
-#: src/language/data-io/save-translate.c:165
-#: src/language/data-io/save-translate.c:180
+#: src/language/data-io/save-translate.c:167
+#: src/language/data-io/save-translate.c:182
#, c-format
msgid "The %s string must contain exactly one character."
msgstr "De %s tekenreeks dient exact één teken te bevatten."
-#: src/language/data-io/save-translate.c:250
+#: src/language/data-io/save-translate.c:252
#, c-format
msgid "Output file `%s' exists but REPLACE was not specified."
msgstr "Uitvoerbestand `%s' bestaat maar REPLACE was niet opgegeven."
msgid "Cannot DROP all variables from dictionary."
msgstr "Kan niet alle variabelen DROP-en uit woordenboek."
-#: src/language/expressions/evaluate.c:152
+#: src/language/expressions/evaluate.c:151
msgid "expecting number or string"
msgstr "verwacht nummer of tekenreeks"
-#: src/language/expressions/evaluate.c:166
-#, c-format
-msgid "Duplicate variable name %s."
-msgstr "Dubbele variabelennaam %s."
-
#: src/language/expressions/helpers.c:41
msgid "One of the arguments to a DATE function is not an integer. The result will be system-missing."
msgstr "Een van de variabelen voor een DATE functie is geen integer. Het resultaat zal system-missing zijn."
msgid "The year argument to YRMODA is greater than 47516. The result will be system-missing."
msgstr "Het jaar argument voor YRMODA is groter dan 47516. Het resultaat zal system-missing zijn."
-#. TRANSLATORS: Don't translate the the actual unit names `weeks', `days' etc
-#. They must remain in their original English.
-#: src/language/expressions/helpers.c:180
-#, c-format
-msgid "Unrecognized date unit `%.*s'. Valid date units are `years', `quarters', `months', `weeks', `days', `hours', `minutes', and `seconds'."
+#: src/language/expressions/helpers.c:178
+#, fuzzy, c-format
+msgid "Unrecognized date unit `%.*s'. Valid date units are `%s', `%s', `%s', `%s', `%s', `%s', `%s', and `%s'."
msgstr "Niet-herkende datum eenheid '%.*s'. Geldige datum eenheden zijn 'years', 'quarters', 'months', 'weeks', 'days', 'hours', 'minutes', en 'seconds'."
-#: src/language/expressions/helpers.c:330
-msgid "Invalid DATESUM method. Valid choices are `closest' and `rollover'."
-msgstr "Ongeldige DATESUM methode. Geldige keuzes zijn 'closest' en 'rollover'."
+#: src/language/expressions/helpers.c:331
+#, c-format
+msgid "Invalid DATESUM method. Valid choices are `%s' and `%s'."
+msgstr "Ongeldige DATESUM methode. Geldige keuzes zijn '%s' en '%s'."
-#: src/language/expressions/parse.c:260
+#: src/language/expressions/parse.c:261
#, c-format
msgid "Type mismatch: expression has %s type, but a numeric value is required here."
msgstr "Type ongelijk: expressie heeft type %s, maar een numerieke waarde is hier vereist."
-#: src/language/expressions/parse.c:272
+#: src/language/expressions/parse.c:274
#, c-format
msgid "Type mismatch: expression has %s type, but a string value is required here."
msgstr "Type ongelijk: expressie heeft type %s, maar een tekenreeks waarde is hier vereist."
-#: src/language/expressions/parse.c:434
+#: src/language/expressions/parse.c:436
#, c-format
msgid "Type mismatch while applying %s operator: cannot convert %s to %s."
msgstr "Type ongelijk tijdens het uitvoeren van %s operator: kan %s niet naar %s converteren."
-#: src/language/expressions/parse.c:648
+#: src/language/expressions/parse.c:650
msgid "Chaining relational operators (e.g. `a < b < c') will not produce the mathematically expected result. Use the AND logical operator to fix the problem (e.g. `a < b AND b < c'). If chaining is really intended, parentheses will disable this warning (e.g. `(a < b) < c'.)"
msgstr ""
-#: src/language/expressions/parse.c:750
+#: src/language/expressions/parse.c:752
msgid "The exponentiation operator (`**') is left-associative, even though right-associative semantics are more useful. That is, `a**b**c' equals `(a**b)**c', not as `a**(b**c)'. To disable this warning, insert parentheses."
msgstr ""
-#: src/language/expressions/parse.c:830
+#: src/language/expressions/parse.c:832
#, c-format
msgid "Unknown system variable %s."
msgstr "Onbekende systeemvariabele %s."
-#: src/language/expressions/parse.c:878
+#: src/language/expressions/parse.c:880
#, c-format
msgid "Unknown identifier %s."
msgstr "Onbekende identificator %s."
-#: src/language/expressions/parse.c:1100
+#: src/language/expressions/parse.c:1102
#, c-format
msgid "%s must have at least %d arguments in list."
msgstr "%s heeft tenminste %d argumenten nodig in lijst."
-#: src/language/expressions/parse.c:1109
+#: src/language/expressions/parse.c:1111
#, c-format
msgid "%s must have an even number of arguments in list."
msgstr "%s heeft een even aantal argumenten in lijst nodig."
-#: src/language/expressions/parse.c:1112
+#: src/language/expressions/parse.c:1114
#, c-format
msgid "%s must have multiple of %d arguments in list."
msgstr "%s heeft meerdere %d argumenten in lijst nodig."
-#: src/language/expressions/parse.c:1122
+#: src/language/expressions/parse.c:1124
#, c-format
msgid "%s function does not accept a minimum valid argument count."
msgstr "%s functie accepteert geen minimaal geldige argumenten teller."
-#: src/language/expressions/parse.c:1131
+#: src/language/expressions/parse.c:1133
#, c-format
msgid "%s requires at least %d valid arguments in list."
msgstr "%s vereist tenminste %d geldige argumenten in lijst."
-#: src/language/expressions/parse.c:1137
+#: src/language/expressions/parse.c:1139
#, c-format
msgid "With %s, using minimum valid argument count of %d does not make sense when passing only %d arguments in list."
msgstr "Met %s, heeft het gebruik van de minimum geldige argumenttelling van %d geen zin wanneer een lijst van slechts %d wordt doorgegeven."
-#: src/language/expressions/parse.c:1191
+#: src/language/expressions/parse.c:1193
#, c-format
msgid "Type mismatch invoking %s as "
msgstr "Type ongelijk bij aanroep %s als "
-#: src/language/expressions/parse.c:1196
+#: src/language/expressions/parse.c:1198
msgid "Function invocation "
msgstr "Functieaanroep "
-#: src/language/expressions/parse.c:1198
+#: src/language/expressions/parse.c:1200
msgid " does not match any known function. Candidates are:"
msgstr " komt niet overeen met een geldige functie. Kandidaten zijn:"
-#: src/language/expressions/parse.c:1228
+#: src/language/expressions/parse.c:1230
#, c-format
msgid "No function or vector named %s."
msgstr "Geen functie of vector genaamd %s."
-#: src/language/expressions/parse.c:1290
+#: src/language/expressions/parse.c:1292
#, c-format
msgid "%s is a PSPP extension."
msgstr "%s is een PSPP extensie."
-#: src/language/expressions/parse.c:1299
+#: src/language/expressions/parse.c:1301
#, c-format
msgid "%s may not appear after TEMPORARY."
msgstr "%s mag niet voorkomen na TEMPORARY."
-#: src/libpspp/ext-array.c:57
+#: src/libpspp/ext-array.c:66
msgid "failed to create temporary file"
msgstr "aanmaken van tijdelijk bestand is mislukt"
-#: src/libpspp/ext-array.c:97
+#: src/libpspp/ext-array.c:106
msgid "seeking in temporary file"
msgstr "zoeken in tijdelijk bestand"
-#: src/libpspp/ext-array.c:116
+#: src/libpspp/ext-array.c:125
msgid "reading temporary file"
msgstr "lezen tijdelijk bestand"
-#: src/libpspp/ext-array.c:118
+#: src/libpspp/ext-array.c:127
msgid "unexpected end of file reading temporary file"
msgstr "onverwacht einde-bestand bij het lezen van tijdelijk bestand"
-#: src/libpspp/ext-array.c:137
+#: src/libpspp/ext-array.c:147
msgid "writing to temporary file"
msgstr "schrijven naar tijdelijk bestand"
msgid "Error inflating: %s"
msgstr ""
-#: src/libpspp/message.c:85
-msgid "error"
-msgstr "fout"
-
-#: src/libpspp/message.c:87
-msgid "warning"
-msgstr "waarschuwing"
+#: src/libpspp/i18n.c:935
+msgid "Arabic"
+msgstr "Arabisch"
-#: src/libpspp/message.c:90
-msgid "note"
-msgstr "noot"
+#: src/libpspp/i18n.c:937
+msgid "Armenian"
+msgstr "Armeens "
-#: src/libpspp/message.c:280
-#, c-format
-msgid "Notes (%d) exceed limit (%d). Suppressing further notes."
-msgstr "Notities (%d) overschrijdt limiet (%d). Onderdruk verdere notitties."
+#: src/libpspp/i18n.c:938
+msgid "Baltic"
+msgstr "Baltisch"
-#: src/libpspp/message.c:288
-#, c-format
-msgid "Warnings (%d) exceed limit (%d). Syntax processing will be halted."
-msgstr "Waarschuwingen (%d) overschrijdt limiet (%d). Syntax bewerking wordt gestopt."
+#: src/libpspp/i18n.c:940
+msgid "Celtic"
+msgstr "Keltisch"
-#: src/libpspp/message.c:291
-#, c-format
-msgid "Errors (%d) exceed limit (%d). Syntax processing will be halted."
-msgstr "Fouten (%d) overschrijdt limiet (%d). Syntax bewerking wordt gestopt."
+#: src/libpspp/i18n.c:941
+msgid "Central European"
+msgstr "Centraal europees"
-#: src/libpspp/zip-reader.c:87
-#, c-format
-msgid "Unsupported compression type (%d)"
-msgstr ""
+#: src/libpspp/i18n.c:943
+msgid "Chinese Simplified"
+msgstr "Vereenvoudigd chinees"
-#: src/libpspp/zip-reader.c:181
-#, c-format
-msgid "Corrupt file at 0x%llx: Expected %<PRIx32>; got %<PRIx32>"
-msgstr "Corrupt bestand op 0x%llx: Verwachte%<PRIx32>; kreeg %<PRIx32>"
+#: src/libpspp/i18n.c:945
+msgid "Chinese Traditional"
+msgstr "Traditioneel chinees"
-#: src/libpspp/zip-reader.c:312
-msgid "Cannot find central directory"
-msgstr "Kan centrale directory niet vinden"
+#: src/libpspp/i18n.c:947
+msgid "Croatian"
+msgstr "Croatisch"
-#: src/libpspp/zip-reader.c:321
+#: src/libpspp/i18n.c:948
+msgid "Cyrillic"
+msgstr "Cyrillisch"
+
+#: src/libpspp/i18n.c:950
+msgid "Cyrillic/Russian"
+msgstr "Cyrillisch/Russisch"
+
+#: src/libpspp/i18n.c:951
+msgid "Cyrillic/Ukrainian"
+msgstr "Cyrillisch/Oekrains"
+
+#: src/libpspp/i18n.c:953
+msgid "Georgian"
+msgstr "Georgisch"
+
+#: src/libpspp/i18n.c:954
+msgid "Greek"
+msgstr "Greeks"
+
+#: src/libpspp/i18n.c:955
+msgid "Gujarati"
+msgstr "Gujarati"
+
+#: src/libpspp/i18n.c:956
+msgid "Gurmukhi"
+msgstr "Gurmukhi"
+
+#: src/libpspp/i18n.c:957
+msgid "Hebrew"
+msgstr "Hebreeuws"
+
+#: src/libpspp/i18n.c:959
+msgid "Hebrew Visual"
+msgstr "Hebreeuws visueel "
+
+#: src/libpspp/i18n.c:960
+msgid "Hindi"
+msgstr "Hindi"
+
+#: src/libpspp/i18n.c:961
+msgid "Icelandic"
+msgstr "Ijslands"
+
+#: src/libpspp/i18n.c:962
+msgid "Japanese"
+msgstr "Japans"
+
+#: src/libpspp/i18n.c:964
+msgid "Korean"
+msgstr "Koreaans"
+
+#: src/libpspp/i18n.c:966
+msgid "Nordic"
+msgstr "Noords"
+
+#: src/libpspp/i18n.c:967
+msgid "Romanian"
+msgstr "Roemeens"
+
+#: src/libpspp/i18n.c:969
+msgid "South European"
+msgstr "Zuid-europees"
+
+#: src/libpspp/i18n.c:970
+msgid "Thai"
+msgstr "Thais"
+
+#: src/libpspp/i18n.c:972
+msgid "Turkish"
+msgstr "Turks"
+
+#: src/libpspp/i18n.c:974
+msgid "Vietnamese"
+msgstr "Vietnamees"
+
+#: src/libpspp/i18n.c:976
+msgid "Western European"
+msgstr "West-europees"
+
+#: src/libpspp/message.c:85
+msgid "error"
+msgstr "fout"
+
+#: src/libpspp/message.c:87
+msgid "warning"
+msgstr "waarschuwing"
+
+#: src/libpspp/message.c:90
+msgid "note"
+msgstr "noot"
+
+#: src/libpspp/message.c:280
+#, c-format
+msgid "Notes (%d) exceed limit (%d). Suppressing further notes."
+msgstr "Notities (%d) overschrijdt limiet (%d). Onderdruk verdere notitties."
+
+#: src/libpspp/message.c:288
+#, c-format
+msgid "Warnings (%d) exceed limit (%d). Syntax processing will be halted."
+msgstr "Waarschuwingen (%d) overschrijdt limiet (%d). Syntax bewerking wordt gestopt."
+
+#: src/libpspp/message.c:291
+#, c-format
+msgid "Errors (%d) exceed limit (%d). Syntax processing will be halted."
+msgstr "Fouten (%d) overschrijdt limiet (%d). Syntax bewerking wordt gestopt."
+
+#: src/libpspp/zip-reader.c:88
+#, c-format
+msgid "Unsupported compression type (%d)"
+msgstr ""
+
+#: src/libpspp/zip-reader.c:201
+#, c-format
+msgid "Corrupt file at 0x%llx: Expected %<PRIx32>; got %<PRIx32>"
+msgstr "Corrupt bestand op 0x%llx: Verwachte%<PRIx32>; kreeg %<PRIx32>"
+
+#: src/libpspp/zip-reader.c:325
+msgid "Cannot find central directory"
+msgstr "Kan centrale directory niet vinden"
+
+#: src/libpspp/zip-reader.c:334
#, c-format
msgid "Failed to seek to end of central directory record: %s"
msgstr ""
-#: src/libpspp/zip-reader.c:347
+#: src/libpspp/zip-reader.c:360
#, c-format
msgid "Failed to seek to central directory: %s"
msgstr ""
-#: src/libpspp/zip-reader.c:399
+#: src/libpspp/zip-reader.c:415
#, c-format
msgid "Failed to seek to start of member `%s': %s"
msgstr ""
-#: src/libpspp/zip-reader.c:430
+#: src/libpspp/zip-reader.c:446
#, c-format
msgid "Name mismatch in zip archive. Central directory says `%s'; local file header says `%s'"
msgstr ""
-#: src/libpspp/zip-writer.c:92
+#: src/libpspp/zip-writer.c:93
#, c-format
msgid "%s: error opening output file"
msgstr "%s: tijdens openen uitvoerbestand"
-#: src/libpspp/zip-writer.c:225
+#: src/libpspp/zip-writer.c:226
#, c-format
msgid "%s: write failed"
msgstr "%s: schrijven mislukt"
+#: src/math/histogram.c:224
+msgid "Not creating histogram because the data contains less than 2 distinct values"
+msgstr "Niet aanmaken van histogram omdat de data minder dan 2 verschillende waardes bevat"
+
#: src/math/percentiles.c:36
msgid "HAverage"
msgstr "HAverage"
msgid "Empirical with averaging"
msgstr "Empirisch met gemiddelde"
-#: src/output/ascii.c:298
+#: src/output/ascii.c:306
#, c-format
msgid "%s: %s must be positive integer or `auto'"
msgstr "%s: %s dient positief integer of 'auto' te zijn"
-#: src/output/ascii.c:331
+#: src/output/ascii.c:339
#, c-format
msgid "ascii: page excluding margins and headers must be at least %d characters wide by %d lines long, but as configured is only %d characters by %d lines"
msgstr "ascii: pagina exclusief marges en koppen moet tenminste %d tekens breed en %d regels lang zijn, maar geconfigureerd is slechts %d tekens bij %d regels"
-#: src/output/ascii.c:377
+#: src/output/ascii.c:387
#, c-format
msgid "ascii: closing output file `%s'"
msgstr "ascii: sluiten uitvoerbestand '%s'"
-#: src/output/ascii.c:520
+#: src/output/ascii.c:530
#, c-format
msgid "See %s for a chart."
msgstr "Zie %s voor een diagram."
-#: src/output/ascii.c:1102
+#: src/output/ascii.c:1001
#, c-format
msgid "ascii: opening output file `%s'"
msgstr "ascii: openen uitvoerbestand '%s'"
-#: src/output/ascii.c:1173
+#: src/output/ascii.c:1058
#, c-format
msgid "%s - Page %d"
msgstr "%s - Pagina %d"
msgid "error opening output file `%s'"
msgstr "fout tijdens openen uitvoerbestand '%s'"
-#. TRANSLATORS: Don't translate the words `terminal' or `listing'.
-#: src/output/driver.c:319
+#: src/output/driver.c:325
#, c-format
-msgid "%s is not a valid device type (the choices are `terminal' and `listing')"
-msgstr "%s is geen valide apparaattype (de keuzes zijn 'terminal' en 'listing')"
+msgid "%s is not a valid device type (the choices are `%s' and `%s')"
+msgstr "%s is geen valide apparaattype (de keuzes zijn '%s' en '%s')"
-#: src/output/driver.c:332
+#: src/output/driver.c:337
#, c-format
msgid "%s: unknown option `%s'"
msgstr "%s: onbekende optie '%s'"
msgid "error writing output file `%s'"
msgstr "fout bij schrijven van '%s'"
-#: src/output/measure.c:65
+#: src/output/measure.c:67
#, c-format
msgid "`%s' is not a valid length."
msgstr "'%s' is geen geldige lengte."
-#: src/output/measure.c:93
+#: src/output/measure.c:95
#, c-format
msgid "syntax error in paper size `%s'"
msgstr "syntaxfout in papiergrootte '%s' "
-#: src/output/measure.c:230
+#: src/output/measure.c:232
#, c-format
msgid "unknown paper type `%.*s'"
msgstr "onbekend papiertype '%.*s'"
-#: src/output/measure.c:248
+#: src/output/measure.c:250
#, c-format
msgid "error opening input file `%s'"
msgstr "fout tijdens openen '%s' "
-#: src/output/measure.c:259
+#: src/output/measure.c:261
#, c-format
msgid "error reading file `%s'"
msgstr "fout tijdens lezen '%s'"
-#: src/output/measure.c:276
+#: src/output/measure.c:278
#, c-format
msgid "paper size file `%s' does not state a paper size"
msgstr "papier grootte bestand '%s' geeft geen papier grootte aan"
msgid "bad box: (%d+%d=%d,%d+%d=%d)-(%d+%d=%d,%d+%d=%d) in table size (%d,%d)\n"
msgstr "bad box: (%d+%d=%d,%d+%d=%d)-(%d+%d=%d,%d+%d=%d) in table size (%d,%d)\n"
-#: src/output/cairo.c:225
+#: src/output/cairo.c:227
#, c-format
msgid "`%s': bad font specification"
msgstr "'%s': slechte fontspecificatie"
-#: src/output/cairo.c:400
+#: src/output/cairo.c:382
#, c-format
msgid "error opening output file `%s': %s"
msgstr "fout tijdens openen uitvoerbestand '%s': %s"
-#: src/output/cairo.c:417
+#: src/output/cairo.c:399
#, c-format
msgid "The defined page is not wide enough to hold at least %d characters in the default font. In fact, there's only room for %d characters."
msgstr "De gedefinieerde pagina is niet breed om ten minste %d tekens in het standaard font te bevatten. In feite is er slechts plaats voor %d tekens."
-#: src/output/cairo.c:427
+#: src/output/cairo.c:409
#, c-format
msgid "The defined page is not long enough to hold at least %d lines in the default font. In fact, there's only room for %d lines."
msgstr "De gedefinieerde pagina is niet lang genoeg om tenminste %d regels van het standaard font te bevatten. In feite is er slechts plaats voor %d regels."
-#: src/output/cairo.c:478
+#: src/output/cairo.c:460
#, c-format
msgid "error drawing output for %s driver: %s"
msgstr "fout tijdens tekenen uitvoer voor %s driver: %s "
-#: src/output/cairo.c:1130
+#: src/output/cairo.c:1120
#, c-format
msgid "error writing output file `%s': %s"
msgstr "fout tijdens schrijven uitvoerbestand '%s': %s"
msgid "Dev from Normal"
msgstr "Dev van Normal"
-#: src/output/charts/plot-hist-cairo.c:110
+#: src/output/charts/plot-hist-cairo.c:41
+#, c-format
+msgid "N = %.2f"
+msgstr ""
+
+#: src/output/charts/plot-hist-cairo.c:50
+#, c-format
+msgid "Mean = %.1f"
+msgstr ""
+
+#: src/output/charts/plot-hist-cairo.c:59
+#, c-format
+msgid "Std. Dev = %.2f"
+msgstr "Std Dev = %.2f"
+
+#: src/output/charts/plot-hist-cairo.c:117
msgid "HISTOGRAM"
msgstr "HISTOGRAM"
-#: src/output/charts/plot-hist-cairo.c:112
-#: src/language/stats/frequencies.q:822
-msgid "Frequency"
-msgstr "Frequenties"
-
#: src/output/charts/roc-chart-cairo.c:36 src/ui/gui/roc.ui:7
msgid "ROC Curve"
msgstr "ROC Curve"
msgid "Eigenvalue"
msgstr "Eigenvalue"
+#: src/output/charts/spreadlevel-cairo.c:37
+#, c-format
+msgid "Spread vs. Level Plot of %s"
+msgstr ""
+
+#: src/output/charts/spreadlevel-cairo.c:38
+msgid "Level"
+msgstr ""
+
+#: src/output/charts/spreadlevel-cairo.c:39
+msgid "Spread"
+msgstr ""
+
#: src/output/odt.c:94
msgid "error creating temporary file"
msgstr "fout tijdens aanmaken tijdelijk bestand"
msgid "Syntax must be either `compatible' or `enhanced'."
msgstr "Syntax moet of 'compatible' of 'enhanced' zijn."
-#: src/ui/terminal/main.c:147
+#: src/ui/terminal/main.c:146
msgid "Error encountered while ERROR=STOP is effective."
msgstr "Fout tegengekomen terwijl ERROR=STOP is actief."
-#: src/ui/terminal/main.c:153
+#: src/ui/terminal/main.c:152
msgid "Stopping syntax file processing here to avoid a cascade of dependent command failures."
msgstr "Stop syntaxbestand uitvoering hier om een cascade van afhankelijke opdrachtfouten te voorkomen."
msgid "could not access definition for terminal `%s'"
msgstr "kon definitie voor terminal '%s' niet benaderen"
-#: src/ui/gui/autorecode-dialog.c:292 src/ui/gui/recode-dialog.c:651
-#: src/ui/gui/recode-dialog.c:733
+#: src/ui/gui/psppire-button-editable.c:160
+msgid "TreeView path"
+msgstr ""
+
+#: src/ui/gui/psppire-button-editable.c:161
+msgid "The path to the row in the GtkTreeView, as a string"
+msgstr ""
+
+#: src/ui/gui/psppire-button-editable.c:168
+#: src/ui/gui/psppire-cell-renderer-button.c:519
+msgid "Diagonal slash"
+msgstr ""
+
+#: src/ui/gui/psppire-button-editable.c:169
+#: src/ui/gui/psppire-cell-renderer-button.c:520
+msgid "Whether to draw a diagonal slash across the button."
+msgstr ""
+
+#: src/ui/gui/autorecode-dialog.c:293 src/ui/gui/recode-dialog.c:662
+#: src/ui/gui/recode-dialog.c:747
msgid "New"
msgstr "Nieuw"
-#: src/ui/gui/autorecode-dialog.c:306 src/ui/gui/recode-dialog.c:666
-#: src/ui/gui/recode-dialog.c:725
+#: src/ui/gui/autorecode-dialog.c:307 src/ui/gui/recode-dialog.c:677
+#: src/ui/gui/recode-dialog.c:739
msgid "Old"
msgstr "Oud"
-#: src/ui/gui/aggregate-dialog.c:162
+#: src/ui/gui/aggregate-dialog.c:154
msgid "Aggregate destination file"
msgstr "Aggregatie doelbestand"
-#: src/ui/gui/aggregate-dialog.c:174 src/ui/gui/psppire-data-window.c:504
-#: src/ui/gui/psppire-window.c:754
+#: src/ui/gui/aggregate-dialog.c:166 src/ui/gui/psppire-data-window.c:498
+#: src/ui/gui/psppire-window.c:733
msgid "System Files (*.sav)"
msgstr "Systeembestanden (*.sav)"
-#: src/ui/gui/aggregate-dialog.c:179 src/ui/gui/psppire-data-window.c:509
-#: src/ui/gui/psppire-window.c:759
+#: src/ui/gui/aggregate-dialog.c:171 src/ui/gui/psppire-data-window.c:503
+#: src/ui/gui/psppire-window.c:738
msgid "Portable Files (*.por) "
msgstr "Overdraagbaar (Portable) bestanden (*.por)"
-#: src/ui/gui/checkbox-treeview.c:92 src/language/stats/crosstabs.q:1232
-#: src/language/stats/crosstabs.q:1259 src/language/stats/crosstabs.q:1282
-#: src/language/stats/crosstabs.q:1306 src/language/stats/examine.q:1637
-msgid "Statistic"
-msgstr "Statistiek"
-
#: src/ui/gui/comments-dialog.c:58
#, c-format
msgid "Column Number: %d"
msgstr "Kolomnummer: %d"
-#: src/ui/gui/crosstabs-dialog.c:41
-msgid "Chisq"
-msgstr "Chisq"
-
-#: src/ui/gui/crosstabs-dialog.c:42 src/language/stats/crosstabs.q:1805
-msgid "Phi"
-msgstr "Phi"
-
-#: src/ui/gui/crosstabs-dialog.c:43
-msgid "CC"
-msgstr "CC"
-
-#: src/ui/gui/crosstabs-dialog.c:45
-msgid "UC"
-msgstr "UC"
-
-#: src/ui/gui/crosstabs-dialog.c:46
-msgid "BTau"
-msgstr "BTau"
-
-#: src/ui/gui/crosstabs-dialog.c:47
-msgid "CTau"
-msgstr "CTau"
-
-#: src/ui/gui/crosstabs-dialog.c:48
-msgid "Risk"
-msgstr "Risk"
-
-#: src/ui/gui/crosstabs-dialog.c:49 src/language/stats/crosstabs.q:1810
-msgid "Gamma"
-msgstr "Gamma"
-
-#: src/ui/gui/crosstabs-dialog.c:50
-msgid "D"
-msgstr "D"
-
-#: src/ui/gui/crosstabs-dialog.c:51 src/language/stats/crosstabs.q:1813
-msgid "Kappa"
-msgstr "Kappa"
-
-#: src/ui/gui/crosstabs-dialog.c:52 src/language/stats/crosstabs.q:1947
-msgid "Eta"
-msgstr "Eta"
-
-#: src/ui/gui/crosstabs-dialog.c:53
-msgid "Corr"
-msgstr "Corr"
-
-#: src/ui/gui/crosstabs-dialog.c:54 src/ui/gui/crosstabs-dialog.c:65
-#: src/ui/gui/crosstabs-dialog.c:100 src/ui/gui/crosstabs-dialog.c:108
-#: src/ui/gui/psppire-dialog-action-var-info.c:47
-#: src/ui/gui/psppire-var-store.c:612 src/ui/gui/var-display.c:16
-msgid "None"
-msgstr "Geen"
-
-#: src/ui/gui/crosstabs-dialog.c:57
-msgid "Count"
-msgstr "Aantal"
-
-#: src/ui/gui/crosstabs-dialog.c:58
-msgid "Row"
-msgstr "Rij"
-
-#: src/ui/gui/crosstabs-dialog.c:59
-msgid "Column"
-msgstr "Kolom"
-
-#: src/ui/gui/crosstabs-dialog.c:61
-msgid "Expected"
-msgstr "Verwacht"
-
-#: src/ui/gui/crosstabs-dialog.c:63
-msgid "Std. Residual"
-msgstr "Std. Residual"
-
-#: src/ui/gui/crosstabs-dialog.c:64
-msgid "Adjusted Std. Residual"
-msgstr "Adjusted Std. Residual"
-
-#: src/ui/gui/find-dialog.c:645
+#: src/ui/gui/find-dialog.c:650
#, c-format
msgid "Bad regular expression: %s"
msgstr "Onjuiste regulaire expressie: %s"
-#: src/ui/gui/factor-dialog.c:348
-#, c-format
-msgid "_Eigenvalues over %4.2f times the mean eigenvalue"
-msgstr ""
-
-#: src/ui/gui/frequencies-dialog.c:45
-msgid "Standard error of the mean"
-msgstr ""
-
-#: src/ui/gui/frequencies-dialog.c:48
-msgid "Standard error of the skewness"
-msgstr ""
-
-#: src/ui/gui/frequencies-dialog.c:50 src/language/stats/frequencies.q:108
-msgid "Mode"
-msgstr "Modus"
-
-#: src/ui/gui/frequencies-dialog.c:52
-msgid "Standard error of the kurtosis"
-msgstr ""
-
#: src/ui/gui/help-menu.c:66
msgid "A program for the analysis of sampled data"
msgstr "Een programma voor de analyse van bemonsterde gegevens"
-#. TRANSLATORS: Use this string to list the people who have helped with
-#. translation to your language.
+#. TRANSLATORS: Do not translate this string. Instead, put the names of the people
+#. who have helped in the translation.
#: src/ui/gui/help-menu.c:76
msgid "translator-credits"
msgstr "Harry Thijssen"
msgid "_Reference Manual"
msgstr "_Handleiding"
-#: src/ui/gui/main.c:83
+#: src/ui/gui/main.c:90
#, c-format
msgid ""
"PSPPIRE, a GUI for PSPP, a program for statistical analysis of sample data.\n"
" -h, --help display this help and exit\n"
" -V, --version output version information and exit\n"
"\n"
-"A non-option argument is interpreted as a .sav or .por file to load.\n"
+"A non-option argument is interpreted as a .sav file, a .por file or a syntax\n"
+"file to load.\n"
msgstr ""
-#: src/ui/gui/missing-val-dialog.c:114 src/ui/gui/missing-val-dialog.c:167
+#: src/ui/gui/missing-val-dialog.c:252 src/ui/gui/missing-val-dialog.c:302
msgid "Incorrect value for variable type"
msgstr "Onjuiste waarde voor variabelentype"
-#: src/ui/gui/missing-val-dialog.c:135 src/ui/gui/missing-val-dialog.c:144
+#: src/ui/gui/missing-val-dialog.c:277
msgid "Incorrect range specification"
msgstr "Onjuiste bereikspecificatie"
-#: src/ui/gui/oneway-anova-dialog.c:300
+#: src/ui/gui/oneway-anova-dialog.c:301
#, c-format
msgid "Contrast %d of %d"
msgstr "Contrast %d van %d"
-#: src/ui/gui/psppire.c:227
+#: src/ui/gui/psppire.c:242
msgid "_Reset"
msgstr "_Herstel"
-#: src/ui/gui/psppire.c:228
+#: src/ui/gui/psppire.c:243
msgid "_Select"
msgstr "_Selecteer"
-#: src/ui/gui/psppire-data-editor.c:977
+#: src/ui/gui/psppire-data-editor.c:978
msgid "Data View"
msgstr "Gegevensweergave"
-#: src/ui/gui/psppire-data-editor.c:980
+#: src/ui/gui/psppire-data-editor.c:981
msgid "Variable View"
msgstr "Variabelenweergave"
msgid "var"
msgstr "var"
-#: src/ui/gui/psppire-data-window.c:204
+#: src/ui/gui/psppire-data-window.c:198
msgid "Transformations Pending"
msgstr "Transformaties uitstaand"
-#: src/ui/gui/psppire-data-window.c:220
+#: src/ui/gui/psppire-data-window.c:214
msgid "Filter off"
msgstr "Filter uit"
-#: src/ui/gui/psppire-data-window.c:234
+#: src/ui/gui/psppire-data-window.c:228
#, c-format
msgid "Filter by %s"
msgstr "Filter op %s"
-#: src/ui/gui/psppire-data-window.c:255
+#: src/ui/gui/psppire-data-window.c:249
msgid "No Split"
msgstr "Geen splits"
-#: src/ui/gui/psppire-data-window.c:264
+#: src/ui/gui/psppire-data-window.c:258
msgid "Split by "
msgstr "Splits op "
-#: src/ui/gui/psppire-data-window.c:292
+#: src/ui/gui/psppire-data-window.c:286
msgid "Weights off"
msgstr "Weging uit"
-#: src/ui/gui/psppire-data-window.c:306
+#: src/ui/gui/psppire-data-window.c:300
#, c-format
msgid "Weight by %s"
msgstr "Weeg op %s"
-#: src/ui/gui/psppire-data-window.c:495 src/ui/gui/aggregate.ui:450
+#: src/ui/gui/psppire-data-window.c:489 src/ui/gui/aggregate.ui:450
msgid "Save"
msgstr "Opslaan"
-#: src/ui/gui/psppire-data-window.c:514 src/ui/gui/psppire-syntax-window.c:608
-#: src/ui/gui/psppire-window.c:770
+#: src/ui/gui/psppire-data-window.c:508 src/ui/gui/psppire-syntax-window.c:605
+#: src/ui/gui/psppire-window.c:749 src/ui/gui/page-file.c:238
msgid "All Files"
msgstr "Alle bestanden"
-#: src/ui/gui/psppire-data-window.c:527
+#: src/ui/gui/psppire-data-window.c:521
msgid "Portable File"
msgstr "Overdraagbaar bestand"
-#: src/ui/gui/psppire-data-window.c:584
+#: src/ui/gui/psppire-data-window.c:578
msgid "Delete Existing Dataset?"
msgstr "Verwijder bestaande dataset?"
-#: src/ui/gui/psppire-data-window.c:588
+#: src/ui/gui/psppire-data-window.c:582
#, c-format
-msgid "Renaming \"%s\" to \"%s\" will delete destroy the existing dataset named \"%s\". Are you sure that you want to do this?"
+msgid "Renaming \"%s\" to \"%s\" will destroy the existing dataset named \"%s\". Are you sure that you want to do this?"
msgstr ""
-#: src/ui/gui/psppire-data-window.c:616
+#: src/ui/gui/psppire-data-window.c:610
#, c-format
msgid "Please enter a new name for dataset \"%s\":"
msgstr "Voer aub een nieuwe naam voor de dateset \"%s\" in:"
-#: src/ui/gui/psppire-data-window.c:618
+#: src/ui/gui/psppire-data-window.c:612
msgid "Rename Dataset"
msgstr "Hernoem dataset"
-#: src/ui/gui/psppire-data-window.c:697
+#: src/ui/gui/psppire-data-window.c:691
msgid "Font Selection"
msgstr "Font selectie"
-#. TRANSLATORS: This will form a filename. Please avoid whitespace.
#: src/ui/gui/psppire-data-window.c:1338
msgid "Data Editor"
msgstr "Gegevensbewerker"
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:71
+msgid "Chisq"
+msgstr "Chisq"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:72
+#: src/language/stats/crosstabs.q:1834
+msgid "Phi"
+msgstr "Phi"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:73
+msgid "CC"
+msgstr "CC"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:75
+msgid "UC"
+msgstr "UC"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:76
+msgid "BTau"
+msgstr "BTau"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:77
+msgid "CTau"
+msgstr "CTau"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:78
+msgid "Risk"
+msgstr "Risk"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:79
+#: src/language/stats/crosstabs.q:1839
+msgid "Gamma"
+msgstr "Gamma"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:80
+msgid "D"
+msgstr "D"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:81
+#: src/language/stats/crosstabs.q:1842
+msgid "Kappa"
+msgstr "Kappa"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:82
+#: src/language/stats/crosstabs.q:1976
+msgid "Eta"
+msgstr "Eta"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:83
+msgid "Corr"
+msgstr "Corr"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:84
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:96
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:131
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:139
+#: src/ui/gui/psppire-dialog-action-var-info.c:47
+#: src/ui/gui/psppire-var-store.c:613 src/ui/gui/var-display.c:16
+msgid "None"
+msgstr "Geen"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:88
+msgid "Count"
+msgstr "Aantal"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:89
+msgid "Row"
+msgstr "Rij"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:90
+msgid "Column"
+msgstr "Kolom"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:92
+msgid "Expected"
+msgstr "Verwacht"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:94
+msgid "Std. Residual"
+msgstr "Std. Residual"
+
+#: src/ui/gui/psppire-dialog-action-crosstabs.c:95
+msgid "Adjusted Std. Residual"
+msgstr "Adjusted Std. Residual"
+
#: src/ui/gui/psppire-dialog-action-descriptives.c:45
msgid "Standard error"
msgstr "Standaardfout"
+#: src/ui/gui/psppire-dialog-action-factor.c:320
+#, c-format
+msgid "_Eigenvalues over %4.2f times the mean eigenvalue"
+msgstr ""
+
+#: src/ui/gui/psppire-dialog-action-frequencies.c:44
+msgid "Standard error of the mean"
+msgstr ""
+
+#: src/ui/gui/psppire-dialog-action-frequencies.c:47
+msgid "Standard error of the skewness"
+msgstr ""
+
+#: src/ui/gui/psppire-dialog-action-frequencies.c:49
+#: src/language/stats/frequencies.q:110
+msgid "Mode"
+msgstr "Modus"
+
+#: src/ui/gui/psppire-dialog-action-frequencies.c:51
+msgid "Standard error of the kurtosis"
+msgstr ""
+
+#: src/ui/gui/psppire-dialog-action-regression.c:40
+msgid "Coeff"
+msgstr "Coeff"
+
+#: src/ui/gui/psppire-dialog-action-regression.c:42
+msgid "Anova"
+msgstr "Anova"
+
+#: src/ui/gui/psppire-dialog-action-regression.c:43
+msgid "Bcov"
+msgstr "Bcov"
+
#: src/ui/gui/psppire-dialog-action-var-info.c:113
#, c-format
msgid "Label: %s\n"
#. - The first character may not be '$'
#. - The first character may not be a digit
#. - The final charactor may not be '.' or '_'
-#.
-#: src/ui/gui/psppire-dict.c:367
-#, c-format
-msgid "VAR%05d"
-msgstr "VAR%05d"
-
-#: src/ui/gui/psppire-dict.c:537
-msgid "Duplicate variable name."
-msgstr "Dubbele variabelennaam."
-
-#: src/ui/gui/psppire-encoding-selector.c:153
-msgid "Automatically Detect"
-msgstr "Automatische detectie"
-
-#: src/ui/gui/psppire-encoding-selector.c:154
-msgid "Locale Encoding"
-msgstr ""
-
-#: src/ui/gui/psppire-encoding-selector.c:158
-msgid "Arabic"
-msgstr "Arabisch"
-
-#: src/ui/gui/psppire-encoding-selector.c:160
-msgid "Armenian"
-msgstr "Armeens "
-
-#: src/ui/gui/psppire-encoding-selector.c:161
-msgid "Baltic"
-msgstr "Baltisch"
-
-#: src/ui/gui/psppire-encoding-selector.c:163
-msgid "Celtic"
-msgstr "Keltisch"
-
-#: src/ui/gui/psppire-encoding-selector.c:164
-msgid "Central European"
-msgstr "Centraal europees"
-
-#: src/ui/gui/psppire-encoding-selector.c:166
-msgid "Chinese Simplified"
-msgstr "Vereenvoudigd chinees"
-
-#: src/ui/gui/psppire-encoding-selector.c:168
-msgid "Chinese Traditional"
-msgstr "Traditioneel chinees"
-
-#: src/ui/gui/psppire-encoding-selector.c:170
-msgid "Croatian"
-msgstr "Croatisch"
-
-#: src/ui/gui/psppire-encoding-selector.c:171
-msgid "Cyrillic"
-msgstr "Cyrillisch"
-
-#: src/ui/gui/psppire-encoding-selector.c:173
-msgid "Cyrillic/Russian"
-msgstr "Cyrillisch/Russisch"
-
-#: src/ui/gui/psppire-encoding-selector.c:174
-msgid "Cyrillic/Ukrainian"
-msgstr "Cyrillisch/Oekrains"
-
-#: src/ui/gui/psppire-encoding-selector.c:176
-msgid "Georgian"
-msgstr "Georgisch"
-
-#: src/ui/gui/psppire-encoding-selector.c:177
-msgid "Greek"
-msgstr "Greeks"
-
-#: src/ui/gui/psppire-encoding-selector.c:178
-msgid "Gujarati"
-msgstr "Gujarati"
-
-#: src/ui/gui/psppire-encoding-selector.c:179
-msgid "Gurmukhi"
-msgstr "Gurmukhi"
-
-#: src/ui/gui/psppire-encoding-selector.c:180
-msgid "Hebrew"
-msgstr "Hebreeuws"
-
-#: src/ui/gui/psppire-encoding-selector.c:182
-msgid "Hebrew Visual"
-msgstr "Hebreeuws visueel "
-
-#: src/ui/gui/psppire-encoding-selector.c:183
-msgid "Hindi"
-msgstr "Hindi"
-
-#: src/ui/gui/psppire-encoding-selector.c:184
-msgid "Icelandic"
-msgstr "Ijslands"
-
-#: src/ui/gui/psppire-encoding-selector.c:185
-msgid "Japanese"
-msgstr "Japans"
-
-#: src/ui/gui/psppire-encoding-selector.c:187
-msgid "Korean"
-msgstr "Koreaans"
-
-#: src/ui/gui/psppire-encoding-selector.c:189
-msgid "Nordic"
-msgstr "Noords"
-
-#: src/ui/gui/psppire-encoding-selector.c:190
-msgid "Romanian"
-msgstr "Roemeens"
-
-#: src/ui/gui/psppire-encoding-selector.c:192
-msgid "South European"
-msgstr "Zuid-europees"
-
-#: src/ui/gui/psppire-encoding-selector.c:193
-msgid "Thai"
-msgstr "Thais"
+#.
+#: src/ui/gui/psppire-dict.c:371
+#, c-format
+msgid "Var%04d"
+msgstr "Var%04d"
-#: src/ui/gui/psppire-encoding-selector.c:195
-msgid "Turkish"
-msgstr "Turks"
+#: src/ui/gui/psppire-dict.c:555
+msgid "Duplicate variable name."
+msgstr "Dubbele variabelennaam."
-#: src/ui/gui/psppire-encoding-selector.c:197
-msgid "Vietnamese"
-msgstr "Vietnamees"
+#: src/ui/gui/psppire-encoding-selector.c:141
+msgid "Automatically Detect"
+msgstr "Automatische detectie"
-#: src/ui/gui/psppire-encoding-selector.c:199
-msgid "Western European"
-msgstr "West-europees"
+#: src/ui/gui/psppire-encoding-selector.c:148
+msgid "Locale Encoding"
+msgstr ""
-#: src/ui/gui/psppire-encoding-selector.c:222
+#: src/ui/gui/psppire-encoding-selector.c:178
msgid "Character Encoding: "
msgstr "Tekencodering:"
-#: src/ui/gui/psppire-output-window.c:358
+#: src/ui/gui/psppire-means-layer.c:45
+#, fuzzy, c-format
+msgid "Layer %d of %d"
+msgstr "Contrast %d van %d"
+
+#: src/ui/gui/psppire-output-window.c:347
msgid "Message"
msgstr "Bericht"
-#: src/ui/gui/psppire-output-window.c:519
+#: src/ui/gui/psppire-output-window.c:508
msgid "Infer file type from extension"
msgstr "Bepaal bestandstype a.h.v. extensie"
-#: src/ui/gui/psppire-output-window.c:520
+#: src/ui/gui/psppire-output-window.c:509
msgid "PDF (*.pdf)"
msgstr "PDF (*.pdf)"
-#: src/ui/gui/psppire-output-window.c:521
+#: src/ui/gui/psppire-output-window.c:510
msgid "HTML (*.html)"
msgstr "HTML (*.html)"
-#: src/ui/gui/psppire-output-window.c:522
+#: src/ui/gui/psppire-output-window.c:511
msgid "OpenDocument (*.odt)"
msgstr "OpenDocument (*.odt)"
-#: src/ui/gui/psppire-output-window.c:523
+#: src/ui/gui/psppire-output-window.c:512
msgid "Text (*.txt)"
msgstr "Text (*.txt)"
-#: src/ui/gui/psppire-output-window.c:524
+#: src/ui/gui/psppire-output-window.c:513
msgid "PostScript (*.ps)"
msgstr "PostScript (*.ps)"
-#: src/ui/gui/psppire-output-window.c:525
+#: src/ui/gui/psppire-output-window.c:514
msgid "Comma-Separated Values (*.csv)"
msgstr "Komma-Gescheiden-Waarde (*.csv)"
-#: src/ui/gui/psppire-output-window.c:626
+#: src/ui/gui/psppire-output-window.c:615
msgid "Export Output"
msgstr "Exporteer Uitvoer"
-#: src/ui/gui/psppire-output-window.c:765
+#: src/ui/gui/psppire-output-window.c:773
msgid "failed to create temporary directory"
msgstr "aanmaken van tijdelijke map is mislukt"
#. TRANSLATORS: This will form a filename. Please avoid whitespace.
-#: src/ui/gui/psppire-output-window.c:1039
+#: src/ui/gui/psppire-output-window.c:1051
msgid "Output"
msgstr "Uitvoer"
-#: src/ui/gui/psppire-output-window.c:1040
+#: src/ui/gui/psppire-output-window.c:1052
msgid "Output Viewer"
msgstr "Uitvoer Viewer"
-#: src/ui/gui/psppire-syntax-window.c:571
+#: src/ui/gui/psppire-spreadsheet-model.c:268
+msgid "(empty)"
+msgstr ""
+
+#: src/ui/gui/psppire-syntax-window.c:568
#, c-format
msgid "Saved file `%s'"
msgstr "Opslaan bestand '%s'"
-#: src/ui/gui/psppire-syntax-window.c:592
+#: src/ui/gui/psppire-syntax-window.c:589
msgid "Save Syntax"
msgstr "Sla Syntax op"
-#: src/ui/gui/psppire-syntax-window.c:602 src/ui/gui/psppire-window.c:764
+#: src/ui/gui/psppire-syntax-window.c:599 src/ui/gui/psppire-window.c:743
msgid "Syntax Files (*.sps) "
msgstr "Syntaxbestanden (*.sps)"
-#: src/ui/gui/psppire-syntax-window.c:916
+#: src/ui/gui/psppire-syntax-window.c:913
msgid "Syntax Editor"
msgstr "Syntaxbewerker"
-#: src/ui/gui/psppire-syntax-window.c:931
+#: src/ui/gui/psppire-syntax-window.c:928
#, c-format
msgid "Cannot load syntax file `%s'"
msgstr "Kan syntaxbestand '%s' niet laden"
-#: src/ui/gui/psppire-val-chooser.c:299
+#: src/ui/gui/psppire-val-chooser.c:300
msgid "through"
msgstr "tot"
-#: src/ui/gui/psppire-val-chooser.c:328 src/ui/gui/find.ui:124
-#: src/ui/gui/var-sheet-dialogs.ui:529
-msgid "Value:"
-msgstr "Waarde:"
-
-#: src/ui/gui/psppire-val-chooser.c:329 src/ui/gui/recode.ui:97
-msgid "System Missing"
-msgstr "Ontbrekende waarde"
+#: src/ui/gui/psppire-val-chooser.c:329
+#, fuzzy
+msgid "_Value:"
+msgstr "_Waarde:"
#: src/ui/gui/psppire-val-chooser.c:330
-msgid "System or User Missing"
-msgstr ""
+#, fuzzy
+msgid "_System Missing"
+msgstr "Ontbrekende waarde"
#: src/ui/gui/psppire-val-chooser.c:331
-msgid "Range:"
-msgstr "Bereik:"
+#, fuzzy
+msgid "System _or User Missing"
+msgstr "Ontbrekende waarde"
#: src/ui/gui/psppire-val-chooser.c:332
-msgid "Range, LOWEST thru value"
-msgstr "Bereik, LAAGSTE tot waarde"
+msgid "_Range:"
+msgstr "Bereik:"
#: src/ui/gui/psppire-val-chooser.c:333
-msgid "Range, value thru HIGHEST"
-msgstr "Bereik, waarde tot HOOGSTE"
+msgid "Range, _LOWEST thru value"
+msgstr "Bereik, LAAGSTE tot waarde"
#: src/ui/gui/psppire-val-chooser.c:334
-msgid "All other values"
-msgstr "Alle andere waardes"
+msgid "Range, value thru _HIGHEST"
+msgstr "Bereik, waarde tot HOOGSTE"
+
+#: src/ui/gui/psppire-val-chooser.c:335
+msgid "_All other values"
+msgstr "_Alle andere waardes"
-#: src/ui/gui/psppire-var-sheet.c:532 src/ui/gui/psppire-var-store.c:769
-#: src/language/stats/crosstabs.q:1307 src/ui/gui/compute.ui:599
+#: src/ui/gui/psppire-var-sheet.c:552 src/ui/gui/psppire-var-store.c:774
+#: src/language/stats/crosstabs.q:1337 src/ui/gui/compute.ui:618
msgid "Type"
msgstr "Type"
-#: src/ui/gui/psppire-var-sheet.c:533 src/ui/gui/psppire-var-store.c:770
-#: src/ui/gui/compute.ui:517
+#: src/ui/gui/psppire-var-sheet.c:553 src/ui/gui/psppire-var-store.c:775
+#: src/ui/gui/compute.ui:532
msgid "Width"
msgstr "Breedte"
-#: src/ui/gui/psppire-var-sheet.c:534 src/ui/gui/psppire-var-store.c:771
+#: src/ui/gui/psppire-var-sheet.c:554 src/ui/gui/psppire-var-store.c:776
msgid "Decimals"
msgstr "Decimalen"
-#: src/ui/gui/psppire-var-sheet.c:536 src/ui/gui/psppire-var-store.c:773
+#: src/ui/gui/psppire-var-sheet.c:556 src/ui/gui/psppire-var-store.c:778
msgid "Values"
msgstr "Waardes"
-#: src/ui/gui/psppire-var-sheet.c:537 src/ui/gui/psppire-var-store.c:774
-#: src/language/stats/crosstabs.q:830 src/language/stats/examine.q:1103
-#: src/language/stats/frequencies.q:872 src/language/stats/frequencies.q:1043
-msgid "Missing"
-msgstr "Ontbrekend"
-
-#: src/ui/gui/psppire-var-sheet.c:539 src/ui/gui/psppire-var-store.c:776
+#: src/ui/gui/psppire-var-sheet.c:559 src/ui/gui/psppire-var-store.c:781
msgid "Align"
msgstr "Uitlijnen"
-#: src/ui/gui/psppire-var-sheet.c:540 src/ui/gui/psppire-var-store.c:777
+#: src/ui/gui/psppire-var-sheet.c:560 src/ui/gui/psppire-var-store.c:782
msgid "Measure"
msgstr "Meting"
-#: src/ui/gui/psppire-var-store.c:690
+#: src/ui/gui/psppire-var-store.c:692
#, c-format
msgid "{%s,`%s'}_"
msgstr "{%s,`%s'}_"
-#: src/ui/gui/psppire-window.c:526
+#: src/ui/gui/psppire-window.c:505
#, c-format
msgid "Save the changes to `%s' before closing?"
msgstr "Opslaan van de aanpassingen in '%s' voor het afsluiten?"
-#: src/ui/gui/psppire-window.c:533
+#: src/ui/gui/psppire-window.c:512
#, c-format
msgid "If you don't save, changes from the last %ld seconds will be permanently lost."
msgstr "Als u niet opslaat zullen de aanpassingen van de laatste %ld seconden permanent verloren gaan."
-#: src/ui/gui/psppire-window.c:537
+#: src/ui/gui/psppire-window.c:516
msgid "Close _without saving"
msgstr "Sluit _zonder opslaan"
-#: src/ui/gui/psppire-window.c:737
+#: src/ui/gui/psppire-window.c:716
msgid "Open"
msgstr "Open"
-#: src/ui/gui/psppire-window.c:746
+#: src/ui/gui/psppire-window.c:725
msgid "Data and Syntax Files"
msgstr "Gegevens- en Syntax-bestanden"
-#: src/ui/gui/recode-dialog.c:634
+#: src/ui/gui/recode-dialog.c:645
msgid "Recode into Different Variables"
msgstr "Hercodeer in Andere Variabelen"
-#: src/ui/gui/recode-dialog.c:637 src/ui/gui/recode.ui:322
+#: src/ui/gui/recode-dialog.c:648 src/ui/gui/recode.ui:332
msgid "Recode into Same Variables"
msgstr "Hercodeer in Zelfde Variabelen"
-#: src/ui/gui/recode-dialog.c:895
+#: src/ui/gui/recode-dialog.c:909
msgid "Recode into Different Variables: Old and New Values "
msgstr "Hercodeer in Andere Variabelen: Oude en Nieuwe Waardes "
-#: src/ui/gui/recode-dialog.c:896
+#: src/ui/gui/recode-dialog.c:910
msgid "Recode into Same Variables: Old and New Values"
msgstr "Hercodeer in Zelfde Variabelen: Oude en Nieuwe Waardes "
-#: src/ui/gui/regression-dialog.c:42
-msgid "Coeff"
-msgstr "Coeff"
-
-#: src/ui/gui/regression-dialog.c:43 src/language/stats/regression.q:157
-msgid "R"
-msgstr "R"
-
-#: src/ui/gui/regression-dialog.c:44
-msgid "Anova"
-msgstr "Anova"
-
-#: src/ui/gui/regression-dialog.c:45
-msgid "Bcov"
-msgstr "Bcov"
-
-#: src/ui/gui/select-cases-dialog.c:84
+#: src/ui/gui/select-cases-dialog.c:63
#, c-format
msgid "Approximately %3d%% of all cases."
msgstr "Ongeveer %3d%% van alle cases."
-#: src/ui/gui/select-cases-dialog.c:85
+#: src/ui/gui/select-cases-dialog.c:64
#, c-format
msgid "Exactly %3d cases from the first %3d cases."
msgstr "Precies %3d cases van de eerste %3d cases."
-#: src/ui/gui/select-cases-dialog.c:224
+#: src/ui/gui/select-cases-dialog.c:203
#, c-format
msgid "%d thru %d"
msgstr "%d tot %d"
-#: src/ui/gui/text-data-import-dialog.c:453
-#, c-format
-msgid "Could not open `%s': %s"
-msgstr "Kon '%s': %s niet openen"
-
-#: src/ui/gui/text-data-import-dialog.c:469
-#, c-format
-msgid "Error reading `%s': %s"
-msgstr "Fout bij lezen '%s': %s"
-
-#: src/ui/gui/text-data-import-dialog.c:472
-#, c-format
-msgid "Failed to read `%s', because it contains a line over %d bytes long and therefore appears not to be a text file."
-msgstr "Lezen van '%s' mislukt omdat het een regel bevat die meer dan %d bytes lang is en daarom is het geen tekstbestand."
-
-#: src/ui/gui/text-data-import-dialog.c:486
-#, c-format
-msgid "`%s' is empty."
-msgstr "'%s' is leeg."
-
-#: src/ui/gui/text-data-import-dialog.c:530
-msgid "Import Delimited Text Data"
-msgstr "Importeer Gescheiden Tekstgegevens"
-
-#: src/ui/gui/text-data-import-dialog.c:583
+#: src/ui/gui/page-assistant.c:98
msgid "Importing Delimited Text Data"
msgstr "Importeren Gescheiden Tekstgegevens"
-#: src/ui/gui/text-data-import-dialog.c:732
+#: src/ui/gui/page-intro.c:96
#, c-format
msgid "Only the first %4d cases"
msgstr "Alleen de eerste %4d cases"
-#: src/ui/gui/text-data-import-dialog.c:742
+#: src/ui/gui/page-intro.c:106
#, c-format
msgid "Only the first %3d %% of file (approximately)"
msgstr "Alleen de eerste %3d %% van bestand (ongeveer)"
-#: src/ui/gui/text-data-import-dialog.c:767
+#: src/ui/gui/page-intro.c:131
msgid ""
"This assistant will guide you through the process of importing data into PSPP from a text file with one line per case, in which fields are separated by tabs, commas, or other delimiters.\n"
"\n"
msgstr "De assistent zal je begeleiden door het proces van het importeren van gegevens in PSPP van een tekstbestand met 1 regel per case, waarin velden zijn gescheiden door tabs, komma's of andere scheidingstekens.\n"
-#: src/ui/gui/text-data-import-dialog.c:773
+#: src/ui/gui/page-intro.c:137
#, c-format
msgid "The selected file contains %zu line of text. "
msgid_plural "The selected file contains %zu lines of text. "
msgstr[0] "Het geselecteerde bestand bevat %zu regel tekst. "
msgstr[1] "Het geselecteerde bestand bevat %zu regels tekst. "
-#: src/ui/gui/text-data-import-dialog.c:781
+#: src/ui/gui/page-intro.c:145
#, c-format
msgid "The selected file contains approximately %lu line of text. "
msgid_plural "The selected file contains approximately %lu lines of text. "
msgstr[0] "Het geselecteerde bestand bevat ongeveer %lu regel tekst. "
msgstr[1] "Het geselecteerde bestand bevat ongeveer %lu regels tekst. "
-#: src/ui/gui/text-data-import-dialog.c:787
+#: src/ui/gui/page-intro.c:151
#, c-format
msgid "Only the first %zu line of the file will be shown for preview purposes in the following screens. "
msgid_plural "Only the first %zu lines of the file will be shown for preview purposes in the following screens. "
msgstr[0] "Alleen de eerste %zu regel van het bestand worden getoond voor voorbeeld doeleinden in de volgende schermen. "
msgstr[1] "Alleen de eerste %zu regels van het bestand worden getoond voor voorbeeld doeleinden in de volgende schermen. "
-#: src/ui/gui/text-data-import-dialog.c:794
+#: src/ui/gui/page-intro.c:158
msgid "You may choose below how much of the file should actually be imported."
msgstr "Hieronder kunt u kiezen hoeveel van het bestand daadwerkelijk geïmporteerd moet worden."
-#: src/ui/gui/text-data-import-dialog.c:877
+#: src/ui/gui/page-file.c:102
+#, c-format
+msgid "Could not open `%s': %s"
+msgstr "Kon '%s': %s niet openen"
+
+#: src/ui/gui/page-file.c:118
+#, c-format
+msgid "Error reading `%s': %s"
+msgstr "Fout bij lezen '%s': %s"
+
+#: src/ui/gui/page-file.c:121
+#, c-format
+msgid "Failed to read `%s', because it contains a line over %d bytes long and therefore appears not to be a text file."
+msgstr "Lezen van '%s' mislukt omdat het een regel bevat die meer dan %d bytes lang is en daarom is het geen tekstbestand."
+
+#: src/ui/gui/page-file.c:139
+#, c-format
+msgid "`%s' is empty."
+msgstr "'%s' is leeg."
+
+#: src/ui/gui/page-file.c:196
+msgid "Import Delimited Text Data"
+msgstr "Importeer Gescheiden Tekstgegevens"
+
+#: src/ui/gui/page-file.c:206
+msgid "Text files"
+msgstr "Tekstbestand"
+
+#: src/ui/gui/page-file.c:211
+msgid "Text (*.txt) Files"
+msgstr "Text (*.txt) Bestand"
+
+#: src/ui/gui/page-file.c:217
+msgid "Plain Text (ASCII) Files"
+msgstr "Plattetekst (ASCII) bestand"
+
+#: src/ui/gui/page-file.c:222
+msgid "Comma Separated Value Files"
+msgstr "Komma-Gescheiden-Waarde bestand"
+
+#: src/ui/gui/page-file.c:229
+msgid "Tab Separated Value Files"
+msgstr "Tab-Gescheiden-Waarde bestand"
+
+#: src/ui/gui/page-first-line.c:144
msgid "Text"
msgstr "Tekst"
-#: src/ui/gui/text-data-import-dialog.c:1541
-#: src/ui/gui/text-data-import-dialog.c:1787
+#: src/ui/gui/text-data-import-dialog.c:321
+#: src/ui/gui/text-data-import-dialog.c:369
msgid "This input line has too few separators to fill in this field."
msgstr "Deze invoerregel heeft te weinig scheidingstekens om dit veld te vullen."
-#: src/ui/gui/text-data-import-dialog.c:1778
+#: src/ui/gui/text-data-import-dialog.c:360
#, c-format
msgid "Cannot parse field content `%.*s' as format %s: %s"
msgstr "Kan veldinhoud `%.*s' niet ontleden als opmaak %s: %s"
-#: src/ui/gui/text-data-import-dialog.c:1931
+#: src/ui/gui/text-data-import-dialog.c:533
msgid "Line"
msgstr "Regel"
#: src/ui/gui/t-test-options.c:65
#, c-format
-msgid "Confidence Interval: %2d %%"
+msgid "Con_fidence Interval: %2d %%"
msgstr "Betrouwbaarheidsinterval: %2d %%"
-#: src/ui/gui/t-test-paired-samples.c:93
-msgid "_Options"
-msgstr "_Opties "
+#: src/ui/gui/t-test-paired-samples.c:93 src/ui/gui/examine.ui:266
+#: src/ui/gui/indep-samples.ui:69 src/ui/gui/t-test.ui:250
+msgid "O_ptions..."
+msgstr "O_pties..."
#: src/ui/gui/t-test-paired-samples.c:105
msgid "Paired Samples T Test"
msgid "Two-Related-Samples Tests"
msgstr "Two-Related-Samples Tests"
-#: src/ui/gui/val-labs-dialog.c:511
+#: src/ui/gui/val-labs-dialog.c:540
#, c-format
msgid "%s = `%s'"
msgstr "%s = `%s'"
msgid "Weight cases by %s"
msgstr "Weeg cases per %s"
-#: src/language/utilities/set.q:156 src/language/utilities/set.q:163
+#: src/language/utilities/set.q:163 src/language/utilities/set.q:170
#, c-format
msgid "%s must be at least 1."
msgstr "%s moet tenminste 1 zijn."
-#: src/language/utilities/set.q:170 src/language/data-io/file-handle.q:102
+#: src/language/utilities/set.q:177 src/language/data-io/file-handle.q:106
#, c-format
msgid "%s must not be negative."
msgstr "%s mag niet negatief zijn."
-#: src/language/utilities/set.q:189
+#: src/language/utilities/set.q:196
msgid "WORKSPACE must be at least 1MB"
msgstr "WORKSPACE moet minstens 1MB zijn"
-#: src/language/utilities/set.q:191
+#: src/language/utilities/set.q:198
msgid "WORKSPACE must be positive"
msgstr "WORKSPACE moet positief zijn"
-#: src/language/utilities/set.q:197 src/language/utilities/set.q:199
-#: src/language/utilities/set.q:201 src/language/utilities/set.q:203
-#: src/language/utilities/set.q:205 src/language/utilities/set.q:207
-#: src/language/utilities/set.q:209 src/language/utilities/set.q:211
-#: src/language/utilities/set.q:213 src/language/utilities/set.q:215
-#: src/language/utilities/set.q:217
+#: src/language/utilities/set.q:204 src/language/utilities/set.q:206
+#: src/language/utilities/set.q:208 src/language/utilities/set.q:210
+#: src/language/utilities/set.q:212 src/language/utilities/set.q:214
+#: src/language/utilities/set.q:216 src/language/utilities/set.q:218
+#: src/language/utilities/set.q:220 src/language/utilities/set.q:222
+#: src/language/utilities/set.q:224
#, c-format
msgid "%s is obsolete."
msgstr "%s is verouderd."
-#: src/language/utilities/set.q:223
+#: src/language/utilities/set.q:230
msgid "Active file compression is not implemented."
msgstr "Actief bestand compressie is niet geïmplementeerd."
-#: src/language/utilities/set.q:370
+#: src/language/utilities/set.q:406
msgid "EPOCH must be 1500 or later."
msgstr "EPOCH moet 1500 of later zijn."
-#: src/language/utilities/set.q:377
+#: src/language/utilities/set.q:413
msgid "expecting AUTOMATIC or year"
msgstr "AUTOMATIC of jaar verwacht"
-#: src/language/utilities/set.q:405
+#: src/language/utilities/set.q:441
msgid "LENGTH must be at least 1."
msgstr "LENGTH moet tenminste 1 zijn."
-#: src/language/utilities/set.q:441
+#: src/language/utilities/set.q:477
#, c-format
msgid "%s is not a recognized encoding or locale name"
msgstr "%s is geen herkende codering of lokale naam"
-#: src/language/utilities/set.q:502
+#: src/language/utilities/set.q:538
msgid "WIDTH must be at least 40."
msgstr "WIDTH moet tenminste 40 zijn."
-#: src/language/utilities/set.q:529
+#: src/language/utilities/set.q:565
#, c-format
msgid "FORMAT requires numeric output format as an argument. Specified format %s is of type string."
msgstr "FORMAT vereist numerieke uitvoeropmaak als een argument. Opgegeven opmaak %s is van het type tekenreeks."
-#: src/language/utilities/set.q:743
+#: src/language/utilities/set.q:787
msgid "ISL (32-bit IEEE 754 single, little-endian)"
msgstr "ISL (32-bit IEEE 754 single, little-endian)"
-#: src/language/utilities/set.q:746
+#: src/language/utilities/set.q:790
msgid "ISB (32-bit IEEE 754 single, big-endian)"
msgstr "ISB (32-bit IEEE 754 single, big-endian)"
-#: src/language/utilities/set.q:749
+#: src/language/utilities/set.q:793
msgid "IDL (64-bit IEEE 754 double, little-endian)"
msgstr "IDL (64-bit IEEE 754 double, little-endian)"
-#: src/language/utilities/set.q:752
+#: src/language/utilities/set.q:796
msgid "IDB (64-bit IEEE 754 double, big-endian)"
msgstr "IDB (64-bit IEEE 754 double, big-endian)"
-#: src/language/utilities/set.q:756
+#: src/language/utilities/set.q:800
msgid "VF (32-bit VAX F, VAX-endian)"
msgstr "VF (32-bit VAX F, VAX-endian)"
-#: src/language/utilities/set.q:759
+#: src/language/utilities/set.q:803
msgid "VD (64-bit VAX D, VAX-endian)"
msgstr "VD (64-bit VAX D, VAX-endian)"
-#: src/language/utilities/set.q:762
+#: src/language/utilities/set.q:806
msgid "VG (64-bit VAX G, VAX-endian)"
msgstr "VG (64-bit VAX G, VAX-endian)"
-#: src/language/utilities/set.q:766
+#: src/language/utilities/set.q:810
msgid "ZS (32-bit IBM Z hexadecimal short, big-endian)"
msgstr "ZS (32-bit IBM Z hexadecimal short, big-endian)"
-#: src/language/utilities/set.q:769
+#: src/language/utilities/set.q:813
msgid "ZL (64-bit IBM Z hexadecimal long, big-endian)"
msgstr "ZL (64-bit IBM Z hexadecimal long, big-endian)"
-#: src/language/utilities/set.q:870
+#: src/language/utilities/set.q:980
#, c-format
msgid "%s is %s."
msgstr "%s is %s."
-#: src/language/utilities/set.q:973
+#: src/language/utilities/set.q:1084
#, c-format
msgid "Too many PRESERVE commands without a RESTORE: at most %d levels of saved settings are allowed."
msgstr "Te veel PRESERVE opdrachten zonder een RESTORE: maximaal %d niveaus van saved settings zijn toegestaand."
-#: src/language/utilities/set.q:992
+#: src/language/utilities/set.q:1103
msgid "RESTORE without matching PRESERVE."
msgstr "RESTORE zonder overeenkomende PRESERVE."
-#: src/language/stats/crosstabs.q:294
+#: src/language/stats/crosstabs.q:297
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:404
+#: src/language/stats/crosstabs.q:413
msgid "Too many cross-tabulation variables or dimensions."
msgstr "Te veel cross-tabulation variabelen of dimensies."
-#: src/language/stats/crosstabs.q:471
+#: src/language/stats/crosstabs.q:481
msgid "VARIABLES must be specified before TABLES."
msgstr "VARIABLES dient voor TABLES gespecificeerd te worden."
-#: src/language/stats/crosstabs.q:505
+#: src/language/stats/crosstabs.q:515
#, c-format
msgid "Maximum value (%ld) less than minimum value (%ld)."
msgstr "Maximumwaarde (%ld) is kleiner dan minimumwaarde (%ld)."
-#: src/language/stats/crosstabs.q:826
+#: src/language/stats/crosstabs.q:856
msgid "Summary."
msgstr "Overzicht."
#. TRANSLATORS: The %s here describes a crosstabulation. It takes the
#. form "var1 * var2 * var3 * ...".
-#: src/language/stats/crosstabs.q:935
+#: src/language/stats/crosstabs.q:965
#, c-format
msgid "Crosstabulation %s contained no non-missing cases."
msgstr "Kruistabulatie %s bevat geen non-missing cases."
-#: src/language/stats/crosstabs.q:1133
+#: src/language/stats/crosstabs.q:1163
msgid "count"
msgstr "aantal"
-#: src/language/stats/crosstabs.q:1134
+#: src/language/stats/crosstabs.q:1164
msgid "row %"
msgstr "rij %"
-#: src/language/stats/crosstabs.q:1135
+#: src/language/stats/crosstabs.q:1165
msgid "column %"
msgstr "kolom %"
-#: src/language/stats/crosstabs.q:1136
+#: src/language/stats/crosstabs.q:1166
msgid "total %"
msgstr "totaal %"
-#: src/language/stats/crosstabs.q:1137
+#: src/language/stats/crosstabs.q:1167
msgid "expected"
msgstr "verwacht"
-#: src/language/stats/crosstabs.q:1138
+#: src/language/stats/crosstabs.q:1168
msgid "residual"
msgstr "overblijvend"
-#: src/language/stats/crosstabs.q:1139
+#: src/language/stats/crosstabs.q:1169
msgid "std. resid."
msgstr "std. resid."
-#: src/language/stats/crosstabs.q:1140
+#: src/language/stats/crosstabs.q:1170
msgid "adj. resid."
msgstr "adj. resid."
-#: src/language/stats/crosstabs.q:1229
+#: src/language/stats/crosstabs.q:1259
msgid "Chi-square tests."
msgstr "Chi-square tests."
-#: src/language/stats/crosstabs.q:1255
+#: src/language/stats/crosstabs.q:1285
msgid "Symmetric measures."
msgstr "Symmetrische metingen."
-#: src/language/stats/crosstabs.q:1261 src/language/stats/crosstabs.q:1309
+#: src/language/stats/crosstabs.q:1291 src/language/stats/crosstabs.q:1339
msgid "Asymp. Std. Error"
msgstr "Asymp. Std. Error"
-#: src/language/stats/crosstabs.q:1262 src/language/stats/crosstabs.q:1310
+#: src/language/stats/crosstabs.q:1292 src/language/stats/crosstabs.q:1340
msgid "Approx. T"
msgstr "Approx. T"
-#: src/language/stats/crosstabs.q:1263 src/language/stats/crosstabs.q:1311
+#: src/language/stats/crosstabs.q:1293 src/language/stats/crosstabs.q:1341
msgid "Approx. Sig."
msgstr "Approx. Sig."
-#: src/language/stats/crosstabs.q:1277
+#: src/language/stats/crosstabs.q:1307
msgid "Risk estimate."
msgstr "Risk estimate."
-#: src/language/stats/crosstabs.q:1281
+#: src/language/stats/crosstabs.q:1311
#, c-format
msgid "95%% Confidence Interval"
msgstr "95%% Betrouwbaarheidsinterval"
-#: src/language/stats/crosstabs.q:1302
+#: src/language/stats/crosstabs.q:1332
msgid "Directional measures."
msgstr "Directionele metingen."
-#: src/language/stats/crosstabs.q:1739
+#: src/language/stats/crosstabs.q:1768
msgid "Pearson Chi-Square"
msgstr "Pearson Chi-Square"
-#: src/language/stats/crosstabs.q:1740
+#: src/language/stats/crosstabs.q:1769
msgid "Likelihood Ratio"
msgstr "Waarschijnlijkheidsratio"
-#: src/language/stats/crosstabs.q:1741
+#: src/language/stats/crosstabs.q:1770
msgid "Fisher's Exact Test"
msgstr "Fisher's Exact Test"
-#: src/language/stats/crosstabs.q:1742
+#: src/language/stats/crosstabs.q:1771
msgid "Continuity Correction"
msgstr "Continuïteitscorrectie"
-#: src/language/stats/crosstabs.q:1743
+#: src/language/stats/crosstabs.q:1772
msgid "Linear-by-Linear Association"
msgstr "Linear-by-Linear Association"
-#: src/language/stats/crosstabs.q:1778 src/language/stats/crosstabs.q:1853
-#: src/language/stats/crosstabs.q:1918
+#: src/language/stats/crosstabs.q:1807 src/language/stats/crosstabs.q:1882
+#: src/language/stats/crosstabs.q:1947
msgid "N of Valid Cases"
msgstr "N van Geldige Cases"
-#: src/language/stats/crosstabs.q:1797 src/language/stats/crosstabs.q:1936
+#: src/language/stats/crosstabs.q:1826 src/language/stats/crosstabs.q:1965
msgid "Nominal by Nominal"
msgstr "Nominal by Nominal"
-#: src/language/stats/crosstabs.q:1798 src/language/stats/crosstabs.q:1937
+#: src/language/stats/crosstabs.q:1827 src/language/stats/crosstabs.q:1966
msgid "Ordinal by Ordinal"
msgstr "Ordinal by Ordinal"
-#: src/language/stats/crosstabs.q:1799
+#: src/language/stats/crosstabs.q:1828
msgid "Interval by Interval"
msgstr "Interval by Interval"
-#: src/language/stats/crosstabs.q:1800
+#: src/language/stats/crosstabs.q:1829
msgid "Measure of Agreement"
msgstr "Mate van overeenkomst"
-#: src/language/stats/crosstabs.q:1806
+#: src/language/stats/crosstabs.q:1835
msgid "Cramer's V"
msgstr "Cramer's V"
-#: src/language/stats/crosstabs.q:1807
+#: src/language/stats/crosstabs.q:1836
msgid "Contingency Coefficient"
msgstr "Contingency Coefficient"
-#: src/language/stats/crosstabs.q:1808
+#: src/language/stats/crosstabs.q:1837
msgid "Kendall's tau-b"
msgstr "Kendall's tau-b"
-#: src/language/stats/crosstabs.q:1809
+#: src/language/stats/crosstabs.q:1838
msgid "Kendall's tau-c"
msgstr "Kendall's tau-c"
-#: src/language/stats/crosstabs.q:1811
+#: src/language/stats/crosstabs.q:1840
msgid "Spearman Correlation"
msgstr "Spearman Correlatie"
-#: src/language/stats/crosstabs.q:1812
+#: src/language/stats/crosstabs.q:1841
msgid "Pearson's R"
msgstr "Pearson's R"
-#: src/language/stats/crosstabs.q:1891
+#: src/language/stats/crosstabs.q:1920
#, c-format
msgid "Odds Ratio for %s (%g / %g)"
msgstr "Odds Ratio voor %s (%g / %g)"
-#: src/language/stats/crosstabs.q:1894
+#: src/language/stats/crosstabs.q:1923
#, c-format
msgid "Odds Ratio for %s (%.*s / %.*s)"
msgstr "Odds Ratio for %s (%.*s / %.*s)"
-#: src/language/stats/crosstabs.q:1902
+#: src/language/stats/crosstabs.q:1931
#, c-format
msgid "For cohort %s = %g"
msgstr "Voor cohort %s = %g"
-#: src/language/stats/crosstabs.q:1905
+#: src/language/stats/crosstabs.q:1934
#, c-format
msgid "For cohort %s = %.*s"
msgstr "Voor cohort %s = %.*s"
-#: src/language/stats/crosstabs.q:1938
+#: src/language/stats/crosstabs.q:1967
msgid "Nominal by Interval"
msgstr "Nominal by Interval"
-#: src/language/stats/crosstabs.q:1944
+#: src/language/stats/crosstabs.q:1973
msgid "Goodman and Kruskal tau"
msgstr "Goodman and Kruskal tau"
-#: src/language/stats/crosstabs.q:1945
+#: src/language/stats/crosstabs.q:1974
msgid "Uncertainty Coefficient"
msgstr "Onzekerheidscoëfficiënt"
-#: src/language/stats/crosstabs.q:1946
+#: src/language/stats/crosstabs.q:1975
msgid "Somers' d"
msgstr "Somers' d"
-#: src/language/stats/crosstabs.q:1952
+#: src/language/stats/crosstabs.q:1981
msgid "Symmetric"
msgstr "Symmetrisch"
-#: src/language/stats/crosstabs.q:1953 src/language/stats/crosstabs.q:1954
+#: src/language/stats/crosstabs.q:1982 src/language/stats/crosstabs.q:1983
#, c-format
msgid "%s Dependent"
msgstr "%s Afhankelijk"
-#: src/language/stats/examine.q:355
-msgid "Not creating NP plot because data set is empty."
-msgstr "Niet aanmaken van NP plot omdat gegevens set leeg is."
-
-#: src/language/stats/examine.q:441 src/language/stats/examine.q:948
-msgid "Not creating plot because data set is empty."
-msgstr "Niet aanmaken van plot omdat gegevens set leeg is."
-
-#: src/language/stats/examine.q:453
-#, c-format
-msgid "Boxplot of %s vs. %s"
-msgstr "Boxplot van %s vs. %s"
-
-#: src/language/stats/examine.q:457
-#, c-format
-msgid "Boxplot of %s"
-msgstr "Boxplot van %s"
-
-#: src/language/stats/examine.q:646 src/language/stats/examine.q:659
-#, c-format
-msgid "%s and %s are mutually exclusive"
-msgstr "%s en %s zijn wederzijds exclusief"
-
-#: src/language/stats/examine.q:1463
-msgid "5% Trimmed Mean"
-msgstr "5% Trimmed Mean"
-
-#: src/language/stats/examine.q:1498
-msgid "Interquartile Range"
-msgstr "Interquartile Range"
-
-#: src/language/stats/examine.q:1820
-msgid "Highest"
-msgstr "Hoogste"
-
-#: src/language/stats/examine.q:1825
-msgid "Lowest"
-msgstr "Laagste"
-
-#: src/language/stats/examine.q:1832
-msgid "Extreme Values"
-msgstr "Extreme Waardes"
-
-#: src/language/stats/examine.q:1836 src/language/data-io/list.q:157
-msgid "Case Number"
-msgstr "Case Nummer"
-
-#: src/language/stats/examine.q:1956
-msgid "Tukey's Hinges"
-msgstr "Tukey's Hinges"
-
-#: src/language/stats/examine.q:2002
-#, c-format
-msgid "%g"
-msgstr "%g"
-
-#: src/language/stats/frequencies.q:381
+#: src/language/stats/frequencies.q:383
msgid "Bar charts are not implemented."
msgstr "Staafdiagrammen nog niet geïmplementeerd."
-#: src/language/stats/frequencies.q:398
+#: src/language/stats/frequencies.q:400
#, c-format
msgid "MAX for histogram must be greater than or equal to MIN, but MIN was specified as %.15g and MAX as %.15g. MIN and MAX will be ignored."
msgstr "MAX voor histogram moet groter of gelijk aan MIN zijn, maar MIN was opgegeven als %.15g en MAX als %.15g. MIN en MAX worden genegeerd."
-#: src/language/stats/frequencies.q:419
+#: src/language/stats/frequencies.q:421
#, c-format
msgid "MAX for pie chart must be greater than or equal to MIN, but MIN was specified as %.15g and MAX as %.15g. MIN and MAX will be ignored."
msgstr "MAX voor taartdiagram moet groter of gelijk aan MIN zijn, maar MIN was opgegeven als %.15g en MAX als %.15g. MIN en MAX worden genegeerd."
-#: src/language/stats/frequencies.q:722
+#: src/language/stats/frequencies.q:727
#, c-format
msgid "Variables %s specified multiple times on GROUPED subcommand."
msgstr "Variabele %s is meerdere keren gespecificeerd in GROUPED-subopdracht."
-#: src/language/stats/frequencies.q:732
+#: src/language/stats/frequencies.q:737
#, 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:820
+#: src/language/stats/frequencies.q:825
msgid "Value Label"
msgstr "Waardelabel"
-#: src/language/stats/frequencies.q:824
+#: src/language/stats/frequencies.q:829
msgid "Valid Percent"
msgstr "Geldig Percentage"
-#: src/language/stats/frequencies.q:825
+#: src/language/stats/frequencies.q:830
msgid "Cum Percent"
msgstr "Cum Percentage"
-#: src/language/stats/frequencies.q:1015
+#: src/language/stats/frequencies.q:1020
#, c-format
msgid "No valid data for variable %s; statistics not displayed."
msgstr "Geen geldige gegevens voor variabele %s; statistieken worden niet getoond."
-#: src/language/stats/frequencies.q:1061
+#: src/language/stats/frequencies.q:1066
msgid "50 (Median)"
msgstr "50 (Mediaan)"
-#: src/language/stats/frequencies.q:1217
+#: src/language/stats/frequencies.q:1215
#, c-format
msgid "Omitting pie chart for %s, which has only %d unique values."
msgstr "Weglaten cirkeldiagram voor %s, die heeft slechts %d unieke waardes."
-#: src/language/stats/frequencies.q:1220
+#: src/language/stats/frequencies.q:1218
#, c-format
msgid "Omitting pie chart for %s, which has over 50 unique values."
msgstr "Weglaten cirkeldiagram %s, die heeft meer dan 50 unieke waardes."
-#: src/language/stats/regression.q:158
-msgid "R Square"
-msgstr "R Square"
-
-#: src/language/stats/regression.q:159
-msgid "Adjusted R Square"
-msgstr "Adjusted R Square"
-
-#: src/language/stats/regression.q:160
-msgid "Std. Error of the Estimate"
-msgstr "Std. Error of the Estimate"
-
-#: src/language/stats/regression.q:165
-msgid "Model Summary"
-msgstr "Model Summary"
-
-#: src/language/stats/regression.q:199
-msgid "B"
-msgstr "B"
-
-#: src/language/stats/regression.q:201
-msgid "Beta"
-msgstr "Beta"
-
-#: src/language/stats/regression.q:204
-msgid "(Constant)"
-msgstr "(Constante)"
-
-#: src/language/stats/regression.q:256
-msgid "Coefficients"
-msgstr "Coëfficiënten"
-
-#: src/language/stats/regression.q:291 src/ui/gui/regression.ui:7
-msgid "Regression"
-msgstr "Regressie"
-
-#: src/language/stats/regression.q:373
-msgid "Covariances"
-msgstr "Covarianties"
-
-#: src/language/stats/regression.q:388
-msgid "Coefficient Correlations"
-msgstr "Coëfficiëntcorrelaties"
-
-#: src/language/stats/regression.q:787
-msgid "The dependent variable is equal to the independent variable.The least squares line is therefore Y=X.Standard errors and related statistics may be meaningless."
-msgstr ""
-
-#: src/language/stats/regression.q:938
-msgid "REGRESSION requires numeric variables."
-msgstr "REGRESSION vereist numerieke variabelen."
-
-#: src/language/stats/regression.q:1013
-msgid "No valid data found. This command was skipped."
-msgstr "Geen geldige gegevens gevonden. Deze opdracht is overgeslagen."
-
-#: src/language/data-io/file-handle.q:70
+#: src/language/data-io/file-handle.q:74
#, c-format
msgid "File handle %s is already defined. Use CLOSE FILE HANDLE before redefining a file handle."
msgstr "Bestands-handle %s is al gedefinieerd. Gebruik CLOSE FILE HANDLE voor het opnieuw definiëren van een bestands-handle."
-#: src/language/data-io/file-handle.q:127
+#: src/language/data-io/file-handle.q:135
msgid "RECFORM must be specified with MODE=360."
msgstr "RECFORM moet opgegeven worden met MODE=360."
-#: src/language/data-io/file-handle.q:138
+#: src/language/data-io/file-handle.q:146
#, c-format
msgid "The specified file mode requires LRECL. Assuming %zu-character records."
msgstr "De gespecificeerd bestandsmodus vereist LRECL. Records van %zu-teken worden verondersteld."
-#: src/language/data-io/file-handle.q:142
+#: src/language/data-io/file-handle.q:150
#, c-format
msgid "Record length (%ld) must be between 1 and %lu bytes. Assuming %zu-character records."
msgstr "Recordlengte (%ld) moet tussen 1 en %lu bytes zijn. Records van %zu tekens worden verondersteld."
-#: src/language/data-io/file-handle.q:183
+#: src/language/data-io/file-handle.q:194
msgid "file"
msgstr "bestand"
-#: src/language/data-io/file-handle.q:185
+#: src/language/data-io/file-handle.q:196
msgid "inline file"
msgstr "inline-bestand"
-#: src/language/data-io/file-handle.q:233
+#: src/language/data-io/file-handle.q:244
msgid "expecting a file name or handle name"
msgstr "bestands- of handle-naam verwacht"
-#: src/language/data-io/file-handle.q:248
+#: src/language/data-io/file-handle.q:259
#, c-format
msgid "Handle for %s not allowed here."
msgstr "Handle voor %s is hier niet toegestaan."
msgid "_Get from data"
msgstr ""
-#: src/ui/gui/binomial.ui:150 src/ui/gui/t-test.ui:335
+#: src/ui/gui/binomial.ui:150 src/ui/gui/indep-samples.ui:342
msgid "_Cut point:"
msgstr "_Knippunt:"
msgstr "Berekenvariabele"
#: src/ui/gui/compute.ui:41
-msgid "Target Variable:"
-msgstr "Doelvariabele:"
+msgid "Target _Variable:"
+msgstr "Doel_variabele:"
-#: src/ui/gui/compute.ui:70
-msgid "Type & Label"
-msgstr "Type & Label"
+#: src/ui/gui/compute.ui:72
+msgid "_Type & Label..."
+msgstr "_Type & Label"
-#: src/ui/gui/compute.ui:117
+#: src/ui/gui/compute.ui:120
msgid "="
msgstr "="
-#: src/ui/gui/compute.ui:171
-msgid "Numeric Expressions:"
-msgstr "Numerieke Expressies:"
+#: src/ui/gui/compute.ui:174
+msgid "_Numeric Expressions:"
+msgstr "_Numerieke Expressies:"
-#: src/ui/gui/compute.ui:233
-msgid "Functions:"
-msgstr "Functies:"
+#: src/ui/gui/compute.ui:238
+msgid "_Functions:"
+msgstr "_Functies:"
-#: src/ui/gui/compute.ui:298 src/ui/gui/recode.ui:371
-#: src/ui/gui/select-cases.ui:378
-msgid "If..."
+#: src/ui/gui/compute.ui:305 src/ui/gui/recode.ui:381
+msgid "_If..."
msgstr "Als..."
-#: src/ui/gui/compute.ui:351
+#: src/ui/gui/compute.ui:359
msgid "Compute Variable: Type and Label"
msgstr "Bereken variabele: Type en Label"
-#: src/ui/gui/compute.ui:386
-msgid "Use expression as label"
-msgstr "Gebruik expressie als label"
+#: src/ui/gui/compute.ui:394
+msgid "Use _expression as label"
+msgstr "Gebruik _expressie als label"
+
+#: src/ui/gui/compute.ui:415
+msgid "_Label:"
+msgstr "_Label:"
+
+#: src/ui/gui/compute.ui:515
+msgid "_String"
+msgstr "_Tekenreeks"
+
+#: src/ui/gui/compute.ui:601
+msgid "_Numeric"
+msgstr "_Numeriek"
#: src/ui/gui/correlation.ui:7
msgid "Bivariate Correlations"
msgid "_Format..."
msgstr "_Opmaak..."
-#: src/ui/gui/crosstabs.ui:153
+#: src/ui/gui/crosstabs.ui:153 src/ui/gui/examine.ui:251
msgid "_Statistics..."
msgstr "_Statistieken..."
msgid "Crosstabs: Statistics"
msgstr "Kruistabel: Satistieken"
-#: src/ui/gui/crosstabs.ui:431 src/ui/gui/oneway.ui:231
+#: src/ui/gui/crosstabs.ui:431 src/ui/gui/oneway.ui:234
msgid "Statistics"
msgstr "Statistieken"
msgstr "Test_variabelen"
#: src/ui/gui/descriptives.ui:115 src/ui/gui/factor.ui:183
+#: src/ui/gui/recode.ui:606
msgid "_Variables:"
msgstr "_Variabelen:"
msgstr "Onderzoek"
#: src/ui/gui/examine.ui:51
-msgid "Label Cases by:"
-msgstr "Label Cases per:"
+msgid "_Label Cases by:"
+msgstr "_Label Cases per:"
-#: src/ui/gui/examine.ui:99
-msgid "Factor List:"
-msgstr "Factorenlijst:"
+#: src/ui/gui/examine.ui:101
+msgid "_Factor List:"
+msgstr "_Factorenlijst:"
-#: src/ui/gui/examine.ui:146
-msgid "Dependent List:"
+#: src/ui/gui/examine.ui:150 src/ui/gui/means.ui:110
+msgid "_Dependent List:"
msgstr "Afhankelijkenlijst:"
-#: src/ui/gui/examine.ui:245
-msgid "Statistics..."
-msgstr "Statistieken..."
-
-#: src/ui/gui/examine.ui:259 src/ui/gui/t-test.ui:68 src/ui/gui/t-test.ui:664
-msgid "Options..."
-msgstr "Opties..."
-
-#: src/ui/gui/examine.ui:302
+#: src/ui/gui/examine.ui:310
msgid "Explore: Statistics"
msgstr "Onderzoek: Statistieken"
-#: src/ui/gui/examine.ui:332
-msgid "Extremes"
-msgstr "Extremen"
+#: src/ui/gui/examine.ui:327 src/ui/gui/oneway.ui:196
+msgid "_Descriptives"
+msgstr "_Descriptieven"
+
+#: src/ui/gui/examine.ui:341
+msgid "_Extremes"
+msgstr "_Extremen"
-#: src/ui/gui/examine.ui:381
+#: src/ui/gui/examine.ui:355
+msgid "_Percentiles"
+msgstr "_Percentiles"
+
+#: src/ui/gui/examine.ui:392
msgid "Explore: Options"
msgstr "Onderzoek: Opties"
-#: src/ui/gui/examine.ui:405
-msgid "Exclude cases listwise"
-msgstr ""
+#: src/ui/gui/examine.ui:416 src/ui/gui/t-test.ui:57
+msgid "Exclude cases _listwise"
+msgstr "Sluit cases _listwise uit"
-#: src/ui/gui/examine.ui:419
-msgid "Exclude cases pairwise"
-msgstr ""
+#: src/ui/gui/examine.ui:431
+msgid "Exclude cases _pairwise"
+msgstr "Sluit cases _pairwise uit"
-#: src/ui/gui/examine.ui:434
-msgid "Repeat values"
-msgstr "Waardes herhalen"
+#: src/ui/gui/examine.ui:447
+msgid "_Report values"
+msgstr "_Rapport waardes"
-#: src/ui/gui/examine.ui:455 src/ui/gui/t-test.ui:497
-#: src/ui/gui/var-sheet-dialogs.ui:685
+#: src/ui/gui/examine.ui:469 src/ui/gui/t-test.ui:81
msgid "Missing Values"
msgstr "Ontbrekende waardes"
msgid "Factor Analysis"
msgstr "Factoranalyse"
-#: src/ui/gui/factor.ui:55 src/ui/gui/data-editor.ui:357
+#: src/ui/gui/factor.ui:55 src/ui/gui/data-editor.ui:359
msgid "_Descriptives..."
msgstr "_Descriptieven..."
msgid "_Scree plot"
msgstr "_Scree plot"
-#: src/ui/gui/factor.ui:375 src/ui/gui/roc.ui:288
+#: src/ui/gui/factor.ui:375 src/ui/gui/roc.ui:287
msgid "Display"
msgstr "Scherm"
msgid "Variable:"
msgstr "Variabele:"
+#: src/ui/gui/find.ui:124 src/ui/gui/val-labs-dialog.ui:109
+msgid "Value:"
+msgstr "Waarde:"
+
#: src/ui/gui/find.ui:147
msgid "Search value labels"
msgstr "Zoek waardelabels"
msgid "Search backward"
msgstr "Zoek achterwaarts"
-#: src/ui/gui/frequencies.ui:107
+#: src/ui/gui/frequencies.ui:107 src/ui/gui/rank.ui:107
msgid "_Variable(s):"
msgstr "_Variabele(n):"
-#: src/ui/gui/frequencies.ui:148
+#: src/ui/gui/frequencies.ui:146
msgid "_Statistics:"
msgstr "_Statistieken:"
-#: src/ui/gui/frequencies.ui:161
+#: src/ui/gui/frequencies.ui:159
msgid "Include _missing values"
msgstr "gebruik ook ontbrekende waardes"
-#: src/ui/gui/frequencies.ui:179
-msgid "Charts..."
-msgstr "Diagrammen..."
+#: src/ui/gui/frequencies.ui:177
+msgid "Ch_arts..."
+msgstr "Di_agrammen..."
-#: src/ui/gui/frequencies.ui:193
-msgid "Frequency Tables..."
-msgstr "Frequentie tabellen..."
+#: src/ui/gui/frequencies.ui:192
+msgid "Frequency _Tables..."
+msgstr "Frequentie _tabellen..."
#: src/ui/gui/frequencies.ui:243
msgid "Frequencies: Frequency Tables"
msgstr "Frequenties: Frequentietabellen"
#: src/ui/gui/frequencies.ui:280
-msgid "Always"
-msgstr "Altijd "
+msgid "_Always"
+msgstr "_Altijd "
-#: src/ui/gui/frequencies.ui:296
-msgid "Never"
-msgstr "Nooit "
+#: src/ui/gui/frequencies.ui:297
+msgid "_Never"
+msgstr "_Nooit "
-#: src/ui/gui/frequencies.ui:315
-msgid "If no more than "
-msgstr "Als niet meer dan "
+#: src/ui/gui/frequencies.ui:317
+msgid "If no _more than "
+msgstr "Als niet _meer dan "
-#: src/ui/gui/frequencies.ui:346
+#: src/ui/gui/frequencies.ui:349
msgid "values"
msgstr "waardes"
-#: src/ui/gui/frequencies.ui:367
+#: src/ui/gui/frequencies.ui:370
msgid "Display frequency tables"
msgstr "Toon frequentietabelen"
-#: src/ui/gui/frequencies.ui:395
-msgid "Ascending value"
+#: src/ui/gui/frequencies.ui:397
+msgid "A_scending value"
msgstr "Oplopende waarde"
-#: src/ui/gui/frequencies.ui:411
-msgid "Descending value"
+#: src/ui/gui/frequencies.ui:414
+msgid "D_escending value"
msgstr "Aflopende waarde"
-#: src/ui/gui/frequencies.ui:427
-msgid "Ascending frequency"
-msgstr "Oplopende frequentie"
+#: src/ui/gui/frequencies.ui:431
+msgid "Ascending _frequency"
+msgstr "Oplopende _frequentie"
-#: src/ui/gui/frequencies.ui:443
-msgid "Descending frequency"
-msgstr "Aflopende frequentie"
+#: src/ui/gui/frequencies.ui:448
+msgid "Descending f_requency"
+msgstr "Aflopende f_requentie"
-#: src/ui/gui/frequencies.ui:465
+#: src/ui/gui/frequencies.ui:471
msgid "Order by"
msgstr "Sorteer op"
-#: src/ui/gui/frequencies.ui:508
+#: src/ui/gui/frequencies.ui:513
msgid "Frequencies: Charts"
msgstr "Frequenties: Diagrammen"
-#: src/ui/gui/frequencies.ui:536
-msgid "Exclude values below "
+#: src/ui/gui/frequencies.ui:541
+msgid "Exclude values _below "
msgstr "Uitsluiten van waardes onder"
-#: src/ui/gui/frequencies.ui:571
-msgid "Exclude values above "
+#: src/ui/gui/frequencies.ui:577
+msgid "Exclude values _above "
msgstr "Uitsluiten van waardes boven"
-#: src/ui/gui/frequencies.ui:609
+#: src/ui/gui/frequencies.ui:616
msgid "<b>Chart Formatting</b>"
msgstr "<b>Diagram opmaken</b>"
-#: src/ui/gui/frequencies.ui:633
-msgid "Draw histograms"
-msgstr "Teken histogrammen"
+#: src/ui/gui/frequencies.ui:640
+msgid "Draw _histograms"
+msgstr "Teken _histogrammen"
-#: src/ui/gui/frequencies.ui:645
-msgid "Superimpose normal curve"
+#: src/ui/gui/frequencies.ui:653
+#, fuzzy
+msgid "Superimpose _normal curve"
msgstr "Superimpose normal curve"
-#: src/ui/gui/frequencies.ui:661
+#: src/ui/gui/frequencies.ui:670
msgid "Scale:"
msgstr "Schaal: "
-#: src/ui/gui/frequencies.ui:682
-msgid "Percentages"
-msgstr "Percentages"
+#: src/ui/gui/frequencies.ui:678
+msgid "_Frequencies"
+msgstr "_Frequenties"
+
+#: src/ui/gui/frequencies.ui:692
+msgid "_Percentages"
+msgstr "_Percentages"
-#: src/ui/gui/frequencies.ui:705
+#: src/ui/gui/frequencies.ui:716
msgid "<b>Histograms</b>"
msgstr "<b>Histogrammen</b>"
-#: src/ui/gui/frequencies.ui:729
-msgid "Draw pie charts"
+#: src/ui/gui/frequencies.ui:740
+msgid "Draw _pie charts"
msgstr "Teken taartdiagram"
-#: src/ui/gui/frequencies.ui:741
-msgid "Include slices for missing values"
+#: src/ui/gui/frequencies.ui:753
+msgid "Include slices for _missing values"
msgstr "Voeg taartpunten voor ontbrekende waarden toe"
-#: src/ui/gui/frequencies.ui:758
+#: src/ui/gui/frequencies.ui:771
msgid "<b>Pie Charts</b>"
msgstr "<b>Taartdiagrammen</b>"
+#: src/ui/gui/indep-samples.ui:8
+msgid "Independent-Samples T Test"
+msgstr "Independent-Samples T Test"
+
+#: src/ui/gui/indep-samples.ui:54
+msgid "_Define Groups..."
+msgstr "_Definieer groepen..."
+
+#: src/ui/gui/indep-samples.ui:133 src/ui/gui/t-test.ui:172
+msgid "_Test Variable(s):"
+msgstr "_Testvariabele(n):"
+
+#: src/ui/gui/indep-samples.ui:180
+msgid "_Grouping Variable:"
+msgstr "_Groepeervariabele:"
+
+#: src/ui/gui/indep-samples.ui:238
+msgid "Define Groups"
+msgstr "Definieer Groepen"
+
+#: src/ui/gui/indep-samples.ui:278
+msgid "Group_2 value:"
+msgstr "Groep_2 waarde:"
+
+#: src/ui/gui/indep-samples.ui:292
+msgid "Group_1 value:"
+msgstr "Groep_1 waarde:"
+
+#: src/ui/gui/indep-samples.ui:375
+msgid "_Use specified values:"
+msgstr "_Gebruik gespecificeerde waardes:"
+
#: src/ui/gui/k-means.ui:7
msgid "K-Means Cluster Analysis"
msgstr "K-Means Cluster Analyze"
msgid "_Normal"
msgstr "_Normaal"
-#: src/ui/gui/ks-one-sample.ui:150
-msgid "_Poisson"
-msgstr ""
+#: src/ui/gui/ks-one-sample.ui:150
+msgid "_Poisson"
+msgstr ""
+
+#: src/ui/gui/ks-one-sample.ui:164
+msgid "_Uniform"
+msgstr "_Uniform"
+
+#: src/ui/gui/ks-one-sample.ui:178
+msgid "_Exponential"
+msgstr "_Exponentieel"
+
+#: src/ui/gui/ks-one-sample.ui:199
+msgid "Test Distribution"
+msgstr "Test Distributie"
+
+#: src/ui/gui/logistic.ui:7
+msgid "Logistic Regression"
+msgstr "Logistieke Regressie"
+
+#: src/ui/gui/logistic.ui:32
+#, fuzzy
+msgid "_Options..."
+msgstr "Opties..."
+
+#: src/ui/gui/logistic.ui:47 src/ui/gui/regression.ui:47
+msgid "_Save..."
+msgstr "Op_slaan..."
+
+#: src/ui/gui/logistic.ui:151 src/ui/gui/regression.ui:165
+msgid "_Dependent"
+msgstr "_Afhankelijk"
+
+#: src/ui/gui/logistic.ui:200 src/ui/gui/regression.ui:213
+msgid "_Independent"
+msgstr "_Onafhankelijk"
+
+#: src/ui/gui/logistic.ui:239
+msgid "Logistic Regression: Options"
+msgstr "Logistieke Regressie: Opties"
+
+#: src/ui/gui/logistic.ui:259
+msgid "CI for _exp(B): "
+msgstr ""
+
+#: src/ui/gui/logistic.ui:336
+msgid "Classification cu_toff: "
+msgstr ""
+
+#: src/ui/gui/logistic.ui:347
+msgid "_Maximum Iterations: "
+msgstr "_Maximaal aantal iteraties: "
+
+#: src/ui/gui/logistic.ui:364
+msgid "Include _constant in model"
+msgstr ""
+
+#: src/ui/gui/means.ui:8
+msgid "Means"
+msgstr "Gemiddelde"
+
+#: src/ui/gui/means.ui:139
+#, fuzzy
+msgid "_Independent List:"
+msgstr "Onafhankelijkelijst:"
+
+#: src/ui/gui/missing-val-dialog.ui:25
+msgid "_No missing values"
+msgstr "Geen missende waardes"
+
+#: src/ui/gui/missing-val-dialog.ui:96
+msgid "_Discrete missing values"
+msgstr "_Discrete missende waardes"
-#: src/ui/gui/ks-one-sample.ui:164
-msgid "_Uniform"
-msgstr "_Uniform"
+#: src/ui/gui/missing-val-dialog.ui:130
+msgid "_Low:"
+msgstr "_Laag:"
-#: src/ui/gui/ks-one-sample.ui:178
-msgid "_Exponential"
-msgstr "_Exponentieel"
+#: src/ui/gui/missing-val-dialog.ui:149
+msgid "_High:"
+msgstr "_Hoog:"
-#: src/ui/gui/ks-one-sample.ui:199
-msgid "Test Distribution"
-msgstr "Test Distributie"
+#: src/ui/gui/missing-val-dialog.ui:174
+msgid "Di_screte value:"
+msgstr "Di_screte waarde:"
+
+#: src/ui/gui/missing-val-dialog.ui:202
+msgid "_Range plus one optional discrete missing value"
+msgstr ""
#: src/ui/gui/oneway.ui:8
msgid "One-Way ANOVA"
msgid "_Factor:"
msgstr "_Factor:"
-#: src/ui/gui/oneway.ui:76
+#: src/ui/gui/oneway.ui:77
msgid "Dependent _Variable(s):"
msgstr "Afhankelijke _Variabel(en):"
-#: src/ui/gui/oneway.ui:193
-msgid "_Descriptives"
-msgstr "_Descriptieven"
-
-#: src/ui/gui/oneway.ui:209
+#: src/ui/gui/oneway.ui:212
msgid "_Homogeneity"
msgstr "_Homogeniteit"
-#: src/ui/gui/oneway.ui:247
+#: src/ui/gui/oneway.ui:250
msgid "_Contrasts..."
msgstr "_Contrasts..."
-#: src/ui/gui/oneway.ui:303
+#: src/ui/gui/oneway.ui:306
msgid "One-Way ANOVA: Contrasts"
msgstr "One-Way ANOVA: Contrasts"
-#: src/ui/gui/oneway.ui:380
+#: src/ui/gui/oneway.ui:383
msgid "_Coefficients:"
msgstr "_Coëfficiënten:"
-#: src/ui/gui/oneway.ui:428
+#: src/ui/gui/oneway.ui:431
msgid "Coefficient Total: "
msgstr "Coëfficiënt Totaal: "
-#: src/ui/gui/oneway.ui:464
+#: src/ui/gui/oneway.ui:467
msgid "Contrast 1 of 1"
msgstr "Contrast 1 of 1"
#: src/ui/gui/paired-samples.ui:113
-msgid "Test _Pair(s):"
-msgstr "Test _Pair(s):"
+msgid "_Test Pair(s):"
+msgstr "_Test Pair(s):"
#: src/ui/gui/psppire.ui:7
msgid "Weight Cases"
msgid "Name Variable:"
msgstr "Naam Variabele:"
-#: src/ui/gui/psppire.ui:282 src/ui/gui/rank.ui:105
+#: src/ui/gui/psppire.ui:282
msgid "Variable(s):"
msgstr "Variabele(n):"
msgstr "Rangschik Cases"
#: src/ui/gui/rank.ui:58
-msgid "By:"
-msgstr "Per:"
+msgid "_By:"
+msgstr ""
-#: src/ui/gui/rank.ui:204
+#: src/ui/gui/rank.ui:208
msgid "_Smallest Value"
msgstr "_Kleinste Waarde"
-#: src/ui/gui/rank.ui:221
+#: src/ui/gui/rank.ui:225
msgid "_Largest Value"
msgstr "_Grootste Waarde"
-#: src/ui/gui/rank.ui:245
+#: src/ui/gui/rank.ui:249
msgid "Assign rank 1 to:"
msgstr "Ken rang 1 toe aan:"
-#: src/ui/gui/rank.ui:261
+#: src/ui/gui/rank.ui:265
msgid "_Display summary tables"
msgstr "_Toon totalen tabellen"
-#: src/ui/gui/rank.ui:279
+#: src/ui/gui/rank.ui:283
msgid "Rank T_ypes"
msgstr "Rangschik T_ypes"
-#: src/ui/gui/rank.ui:294
+#: src/ui/gui/rank.ui:298
msgid "_Ties..."
msgstr ""
-#: src/ui/gui/rank.ui:346
+#: src/ui/gui/rank.ui:350
msgid "Rank Cases: Types"
msgstr "Rangschik Cases: Types"
-#: src/ui/gui/rank.ui:366
-msgid "Sum of case weights"
-msgstr "Totaal van case gewichten"
+#: src/ui/gui/rank.ui:371
+msgid "Sum of case _weights"
+msgstr "Totaal van case ge_wichten"
-#: src/ui/gui/rank.ui:382
-msgid "Fractional rank as %"
-msgstr ""
-
-#: src/ui/gui/rank.ui:396
-msgid "Fractional rank"
-msgstr ""
+#: src/ui/gui/rank.ui:388
+msgid "Fractional rank as _%"
+msgstr "Fractie rang als _%"
-#: src/ui/gui/rank.ui:410
-msgid "Savage score"
-msgstr "Savage score"
+#: src/ui/gui/rank.ui:403
+msgid "_Fractional rank"
+msgstr "Fractie rang"
-#: src/ui/gui/rank.ui:424
-msgid "Rank"
-msgstr ""
+#: src/ui/gui/rank.ui:418
+msgid "_Savage score"
+msgstr "_Savage score"
-#: src/ui/gui/rank.ui:438
-msgid "Ntiles"
-msgstr "Ntiles"
+#: src/ui/gui/rank.ui:433
+msgid "_Rank"
+msgstr "Rang"
-#: src/ui/gui/rank.ui:481
-msgid "Proportion Estimates"
-msgstr "Proportion Estimates"
+#: src/ui/gui/rank.ui:448
+msgid "N_tiles"
+msgstr "N_tiles"
-#: src/ui/gui/rank.ui:494
-msgid "Normal Scores"
-msgstr "Normal Scores"
+#: src/ui/gui/rank.ui:492
+msgid "_Proportion Estimates"
+msgstr "_Proportion Estimates"
-#: src/ui/gui/rank.ui:529
-msgid "Blom"
-msgstr "Blom"
+#: src/ui/gui/rank.ui:506
+msgid "_Normal Scores"
+msgstr "_Normal Scores"
-#: src/ui/gui/rank.ui:543
-msgid "Tukey"
-msgstr "Tukey"
+#: src/ui/gui/rank.ui:542
+msgid "_Blom"
+msgstr "_Blom"
#: src/ui/gui/rank.ui:557
-msgid "Rankit"
-msgstr "Rankit"
+msgid "Tuke_y"
+msgstr "Tuke_y"
-#: src/ui/gui/rank.ui:571
-msgid "Van der Wärden"
-msgstr "Van der Wärden"
+#: src/ui/gui/rank.ui:572
+msgid "Ran_kit"
+msgstr ""
+
+#: src/ui/gui/rank.ui:587
+msgid "_Van der Waerden"
+msgstr "Van der Waerden"
-#: src/ui/gui/rank.ui:591
+#: src/ui/gui/rank.ui:608
msgid "Proportion Estimation Formula"
msgstr "Proportion Estimation Formula"
-#: src/ui/gui/rank.ui:625
+#: src/ui/gui/rank.ui:642
msgid "Rank Cases: Ties"
msgstr "Rangschik cases: Ties "
-#: src/ui/gui/rank.ui:651
+#: src/ui/gui/rank.ui:668
msgid "_Mean"
msgstr "_Gemiddeld"
-#: src/ui/gui/rank.ui:668
+#: src/ui/gui/rank.ui:685
msgid "_Low"
msgstr "_Laag"
-#: src/ui/gui/rank.ui:686
+#: src/ui/gui/rank.ui:703
msgid "_High"
msgstr "_Hoog"
-#: src/ui/gui/rank.ui:709
+#: src/ui/gui/rank.ui:726
msgid "_Sequential ranks to unique values"
msgstr "_Sequentiële rangen naar unieke waardes"
-#: src/ui/gui/rank.ui:732
+#: src/ui/gui/rank.ui:749
msgid "Rank Assigned to Ties"
msgstr ""
msgid "Split File"
msgstr "Splits bestand"
-#: src/ui/gui/split-file.ui:68
-msgid "Analyze all cases. Do not create groups."
-msgstr "Analyseer alle cases. Creëer geen groepen."
+#: src/ui/gui/split-file.ui:69
+msgid "Anal_yze all cases. Do not create groups."
+msgstr "Anal_yseer alle cases. Creëer geen groepen."
-#: src/ui/gui/split-file.ui:84
-msgid "Compare groups."
-msgstr "Vergelijk groepen."
+#: src/ui/gui/split-file.ui:86
+msgid "Compare _groups."
+msgstr "Vergelijk _groepen."
-#: src/ui/gui/split-file.ui:100
-msgid "Organize output by groups."
-msgstr "Organiseer uitvoer per groepen."
+#: src/ui/gui/split-file.ui:104
+msgid "Organize ou_tput by groups."
+msgstr "Organiseer ui_tvoer per groepen."
-#: src/ui/gui/split-file.ui:158
-msgid "Groups based on:"
-msgstr "Groepen gebaseerd op:"
+#: src/ui/gui/split-file.ui:188
+msgid "Groups _based on:"
+msgstr "Groepen ge_baseerd op:"
-#: src/ui/gui/split-file.ui:217
-msgid "Sort the file by grouping variables."
-msgstr "Sorteer bestand op groeperingsvariabelen."
+#: src/ui/gui/split-file.ui:213
+msgid "_Sort the file by grouping variables."
+msgstr "_Sorteer bestand op groeperingsvariabelen."
-#: src/ui/gui/split-file.ui:234
-msgid "File is already sorted."
+#: src/ui/gui/split-file.ui:230
+msgid "_File is already sorted."
msgstr "Bestand is al gesorteerd."
-#: src/ui/gui/split-file.ui:287
+#: src/ui/gui/split-file.ui:283
msgid "Current Status : "
msgstr "Huidige Status : "
-#: src/ui/gui/split-file.ui:298
+#: src/ui/gui/split-file.ui:294
msgid "Analysis by groups is off"
msgstr "Analyseer per groep is uit"
msgid "Old Value"
msgstr "Oude Waarde"
-#: src/ui/gui/recode.ui:111
-msgid "Copy old values"
-msgstr "Kopieer oude waardes"
+#: src/ui/gui/recode.ui:97
+#, fuzzy
+msgid "System _Missing"
+msgstr "Ontbrekende waarde"
-#: src/ui/gui/recode.ui:135
-msgid "Value: "
+#: src/ui/gui/recode.ui:113
+msgid "Co_py old values"
+msgstr "Ko_pieer oude waardes"
+
+#: src/ui/gui/recode.ui:139
+msgid "Va_lue: "
msgstr "Waarde: "
-#: src/ui/gui/recode.ui:168
+#: src/ui/gui/recode.ui:174
msgid "New Value"
msgstr "Nieuwe Waarde"
-#: src/ui/gui/recode.ui:226
-msgid "Convert numeric strings to numbers (`5' -> 5)"
-msgstr "Converteer numerieke tekenreeksen naar nummers ('5' -> 5)"
+#: src/ui/gui/recode.ui:232
+msgid "Conver_t numeric strings to numbers (`5' -> 5)"
+msgstr "Conver_teer numerieke tekenreeksen naar nummers ('5' -> 5)"
-#: src/ui/gui/recode.ui:244
-msgid "Output variables are strings"
+#: src/ui/gui/recode.ui:252
+msgid "Output variables are _strings"
msgstr "Uitvoervariabelen zijn tekenreeksen"
-#: src/ui/gui/recode.ui:259
+#: src/ui/gui/recode.ui:269
msgid "Width: "
msgstr "Breedte: "
-#: src/ui/gui/recode.ui:387
+#: src/ui/gui/recode.ui:398
msgid "(optional case selection condition)"
msgstr "(optionele case selectie conditie)"
-#: src/ui/gui/recode.ui:468
-msgid "Name:"
-msgstr "Naam:"
+#: src/ui/gui/recode.ui:479
+msgid "_Name:"
+msgstr "_Naam:"
+
+#: src/ui/gui/recode.ui:502
+msgid "La_bel:"
+msgstr "La_bel:"
-#: src/ui/gui/recode.ui:511
-msgid "Change"
-msgstr "Wijzig"
+#: src/ui/gui/recode.ui:526
+msgid "Chan_ge"
+msgstr "Wijzi_g"
-#: src/ui/gui/recode.ui:537
+#: src/ui/gui/recode.ui:553
msgid "Output Variable"
msgstr "Uitvoervariabele"
-#: src/ui/gui/recode.ui:611
-msgid "Old and New Values"
-msgstr "Oude en Nieuwe Waardes"
+#: src/ui/gui/recode.ui:629
+msgid "Old and New Va_lues..."
+msgstr "Oude en Nieuwe Waardes..."
#: src/ui/gui/regression.ui:32
msgid "S_tatistics..."
msgstr "S_tatistieken..."
-#: src/ui/gui/regression.ui:47
-msgid "_Save..."
-msgstr "Op_slaan..."
-
-#: src/ui/gui/regression.ui:165
-msgid "_Dependent"
-msgstr "_Afhankelijk"
-
-#: src/ui/gui/regression.ui:213
-msgid "_Independent"
-msgstr "_Onafhankelijk"
-
#: src/ui/gui/regression.ui:252
msgid "Regression: Save"
msgstr "Regressie: Opslaan"
msgid "_Value of state variable:"
msgstr "Waarde van status variabele:"
-#: src/ui/gui/roc.ui:211
+#: src/ui/gui/roc.ui:210
msgid "ROC C_urve"
msgstr "ROC C_urve"
-#: src/ui/gui/roc.ui:229
+#: src/ui/gui/roc.ui:228
msgid "_With diagonal reference line"
msgstr "Met diagonale referentie lijn"
-#: src/ui/gui/roc.ui:253
+#: src/ui/gui/roc.ui:252
msgid "Standard _Error and Confidence Interval"
msgstr ""
-#: src/ui/gui/roc.ui:268
+#: src/ui/gui/roc.ui:267
msgid "_Coordinate points of the ROC Curve"
msgstr ""
msgid "If condition is satisfied"
msgstr "Aan If conditie is voldaan"
+#: src/ui/gui/select-cases.ui:378
+msgid "If..."
+msgstr "Als..."
+
#: src/ui/gui/select-cases.ui:418
msgid "All Cases"
msgstr "Alle Cases"
msgstr "Steekproef Grootte"
#: src/ui/gui/t-test.ui:8
-msgid "Independent-Samples T Test"
-msgstr "Independent-Samples T Test"
-
-#: src/ui/gui/t-test.ui:54 src/ui/gui/t-test.ui:175 src/ui/gui/t-test.ui:231
-msgid "Define Groups"
-msgstr "Definieer Groepen"
-
-#: src/ui/gui/t-test.ui:131 src/ui/gui/t-test.ui:588
-msgid "Test Variable(s):"
-msgstr "Testvariabele(n):"
-
-#: src/ui/gui/t-test.ui:271
-msgid "Group_2 value:"
-msgstr "Groep_2 waarde:"
-
-#: src/ui/gui/t-test.ui:285
-msgid "Group_1 value:"
-msgstr "Groep_1 waarde:"
-
-#: src/ui/gui/t-test.ui:368
-msgid "_Use specified values:"
-msgstr "_Gebruik gespecificeerde waardes:"
-
-#: src/ui/gui/t-test.ui:424
msgid "Options"
msgstr "Opties "
-#: src/ui/gui/t-test.ui:456
+#: src/ui/gui/t-test.ui:40
msgid "Exclude cases _analysis by analysis"
msgstr "Sluit cases _analysis by analysis uit"
-#: src/ui/gui/t-test.ui:473
-msgid "Exclude cases _listwise"
-msgstr "Sluit cases _listwise uit"
-
-#: src/ui/gui/t-test.ui:533
+#: src/ui/gui/t-test.ui:117
msgid "One - Sample T Test"
msgstr "One - Sample T Test"
-#: src/ui/gui/t-test.ui:630
+#: src/ui/gui/t-test.ui:216
msgid "Test _Value: "
msgstr "Test_waarde: "
msgid "Univariate: Statistics"
msgstr "Univariatie: Statistieken"
-#: src/ui/gui/var-sheet-dialogs.ui:7
-msgid "Variable Type"
-msgstr "Variabelentype"
-
-#: src/ui/gui/var-sheet-dialogs.ui:75
-msgid "Scientific notation"
-msgstr "Wetenschappelijke notatie"
-
-#: src/ui/gui/var-sheet-dialogs.ui:123
-msgid "Custom currency"
-msgstr "Aangepaste waarde"
-
-#: src/ui/gui/var-sheet-dialogs.ui:225
-msgid "positive"
-msgstr "positief"
-
-#: src/ui/gui/var-sheet-dialogs.ui:234
-msgid "negative"
-msgstr "negatief"
-
-#: src/ui/gui/var-sheet-dialogs.ui:247
-msgid "Sample"
-msgstr "Steekproef"
-
-#: src/ui/gui/var-sheet-dialogs.ui:294
-msgid "Width:"
-msgstr "Breedte:"
-
-#: src/ui/gui/var-sheet-dialogs.ui:339
-msgid "Decimal Places:"
-msgstr "Decimalen:"
-
-#: src/ui/gui/var-sheet-dialogs.ui:419 src/ui/gui/var-sheet-dialogs.ui:610
-msgid "Value Labels"
-msgstr "Waardelabels"
-
-#: src/ui/gui/var-sheet-dialogs.ui:516
+#: src/ui/gui/val-labs-dialog.ui:96
msgid "Value Label:"
msgstr "Waardelabel:"
-#: src/ui/gui/var-sheet-dialogs.ui:712
-msgid "_No missing values"
-msgstr "Geen missende waardes"
-
-#: src/ui/gui/var-sheet-dialogs.ui:783
-msgid "_Discrete missing values"
-msgstr "_Discrete missende waardes"
-
-#: src/ui/gui/var-sheet-dialogs.ui:817
-msgid "_Low:"
-msgstr "_Laag:"
-
-#: src/ui/gui/var-sheet-dialogs.ui:836
-msgid "_High:"
-msgstr "_Hoog:"
-
-#: src/ui/gui/var-sheet-dialogs.ui:861
-msgid "Di_screte value:"
-msgstr "Di_screte waarde:"
-
-#: src/ui/gui/var-sheet-dialogs.ui:889
-msgid "_Range plus one optional discrete missing value"
-msgstr ""
+#: src/ui/gui/val-labs-dialog.ui:190
+msgid "Value Labels"
+msgstr "Waardelabels"
#: src/ui/gui/variable-info.ui:50
msgid "Variable Information:"
msgstr "_Open..."
#: src/ui/gui/data-editor.ui:54
-msgid "_Import Delimited Text Data..."
-msgstr "Gescheiden tekstgegevens _importeren (*.CSV)..."
+msgid "I_mport Data..."
+msgstr "I_mporteer Data..."
#: src/ui/gui/data-editor.ui:61
msgid "_Rename Dataset..."
msgid "Cou_nt..."
msgstr "Tel..."
-#: src/ui/gui/data-editor.ui:307
+#: src/ui/gui/data-editor.ui:308
msgid "Ran_k Cases..."
msgstr "Rangschi_k cases..."
-#: src/ui/gui/data-editor.ui:313
+#: src/ui/gui/data-editor.ui:314
msgid "Auto_matic Recode..."
msgstr "Auto_matische herkodering..."
-#: src/ui/gui/data-editor.ui:319
+#: src/ui/gui/data-editor.ui:320
msgid "Recode into _Same Variables..."
msgstr "Hercodeer in _zelfde variabelen..."
-#: src/ui/gui/data-editor.ui:325
+#: src/ui/gui/data-editor.ui:326
msgid "Recode into _Different Variables..."
msgstr "Hercodeer in _andere variabelen..."
-#: src/ui/gui/data-editor.ui:331
+#: src/ui/gui/data-editor.ui:332
msgid "_Run Pending Transforms"
msgstr "_Uitvoeren uitstaande transformaties"
-#: src/ui/gui/data-editor.ui:338
+#: src/ui/gui/data-editor.ui:339
msgid "_Analyze"
msgstr "_Analyseer"
-#: src/ui/gui/data-editor.ui:344
+#: src/ui/gui/data-editor.ui:345
msgid "_Descriptive Statistics"
msgstr "_Descriptieve statistieken"
-#: src/ui/gui/data-editor.ui:350
+#: src/ui/gui/data-editor.ui:352
msgid "_Frequencies..."
msgstr "_Frequenties..."
-#: src/ui/gui/data-editor.ui:363
+#: src/ui/gui/data-editor.ui:366
msgid "_Explore..."
msgstr "_Onderzoek..."
-#: src/ui/gui/data-editor.ui:369
+#: src/ui/gui/data-editor.ui:373
msgid "_Crosstabs..."
msgstr "_Kruistabellen..."
-#: src/ui/gui/data-editor.ui:375
+#: src/ui/gui/data-editor.ui:379
msgid "Compare _Means"
msgstr "Compare _Means"
-#: src/ui/gui/data-editor.ui:381
+#: src/ui/gui/data-editor.ui:386
+msgid "_Means..."
+msgstr ""
+
+#: src/ui/gui/data-editor.ui:392
msgid "_One Sample T Test..."
msgstr "_One Sample T Test..."
-#: src/ui/gui/data-editor.ui:387
+#: src/ui/gui/data-editor.ui:399
msgid "_Independent Samples T Test..."
msgstr "_Independent Samples T Test..."
-#: src/ui/gui/data-editor.ui:393
+#: src/ui/gui/data-editor.ui:405
msgid "_Paired Samples T Test..."
msgstr "_Paired Samples T Test..."
-#: src/ui/gui/data-editor.ui:399
+#: src/ui/gui/data-editor.ui:411
msgid "One Way _ANOVA..."
msgstr "One Way _ANOVA..."
-#: src/ui/gui/data-editor.ui:405
+#: src/ui/gui/data-editor.ui:417
msgid "_Univariate Analysis..."
msgstr "_Univariatie Analyse..."
-#: src/ui/gui/data-editor.ui:413
+#: src/ui/gui/data-editor.ui:425
msgid "Bivariate _Correlation..."
msgstr "Bivariate _correlatie..."
-#: src/ui/gui/data-editor.ui:420
+#: src/ui/gui/data-editor.ui:432
msgid "_K-Means Cluster..."
msgstr "_K-Means Cluster..."
-#: src/ui/gui/data-editor.ui:426
+#: src/ui/gui/data-editor.ui:439
msgid "Factor _Analysis..."
msgstr "Factor _Analyses..."
-#: src/ui/gui/data-editor.ui:433
+#: src/ui/gui/data-editor.ui:446
msgid "Re_liability..."
msgstr "Betrouwbaarheid..."
-#: src/ui/gui/data-editor.ui:439
-msgid "Linear _Regression..."
-msgstr "Lineare _regressie..."
+#: src/ui/gui/data-editor.ui:452
+msgid "_Regression"
+msgstr "_Regressie"
+
+#: src/ui/gui/data-editor.ui:459
+msgid "_Linear..."
+msgstr ""
+
+#: src/ui/gui/data-editor.ui:466
+#, fuzzy
+msgid "_Binary Logistic..."
+msgstr "_Statistieken..."
-#: src/ui/gui/data-editor.ui:445
+#: src/ui/gui/data-editor.ui:472
msgid "_Non-Parametric Statistics"
msgstr "_Non-Parametric Statistics"
-#: src/ui/gui/data-editor.ui:451
+#: src/ui/gui/data-editor.ui:478
msgid "_Chi-Square..."
msgstr "_Chi-Square..."
-#: src/ui/gui/data-editor.ui:457
+#: src/ui/gui/data-editor.ui:485
msgid "_Binomial..."
msgstr "_Binomiaal..."
-#: src/ui/gui/data-editor.ui:463
+#: src/ui/gui/data-editor.ui:491
msgid "R_uns..."
msgstr "R_uns..."
-#: src/ui/gui/data-editor.ui:469
+#: src/ui/gui/data-editor.ui:497
msgid "1-Sample _K-S..."
msgstr "1-Sample _K-S..."
-#: src/ui/gui/data-editor.ui:475
+#: src/ui/gui/data-editor.ui:503
msgid "2 _Related Samples..."
msgstr "2 _Related Samples..."
-#: src/ui/gui/data-editor.ui:481
+#: src/ui/gui/data-editor.ui:509
msgid "K Related _Samples..."
msgstr "K Related _Samples..."
-#: src/ui/gui/data-editor.ui:488
+#: src/ui/gui/data-editor.ui:516
msgid "ROC Cur_ve..."
msgstr "ROC Cur_ve..."
-#: src/ui/gui/data-editor.ui:494
+#: src/ui/gui/data-editor.ui:522
msgid "_Utilities"
msgstr "E_xtra"
-#: src/ui/gui/data-editor.ui:501
+#: src/ui/gui/data-editor.ui:529
msgid "_Variables..."
msgstr "_Variabelen..."
-#: src/ui/gui/data-editor.ui:502
+#: src/ui/gui/data-editor.ui:530
msgid "Jump to variable"
msgstr "Spring naar variabele"
-#: src/ui/gui/data-editor.ui:509
+#: src/ui/gui/data-editor.ui:537
msgid "Data File _Comments..."
msgstr "Gegevensbestand _commentaren..."
-#: src/ui/gui/data-editor.ui:515 src/ui/gui/output-viewer.ui:47
+#: src/ui/gui/data-editor.ui:543 src/ui/gui/output-viewer.ui:47
#: src/ui/gui/syntax-editor.ui:143
msgid "_Windows"
msgstr "_Vensters"
-#: src/ui/gui/data-editor.ui:521 src/ui/gui/output-viewer.ui:53
+#: src/ui/gui/data-editor.ui:549 src/ui/gui/output-viewer.ui:53
#: src/ui/gui/syntax-editor.ui:149
msgid "_Minimize All Windows"
msgstr "_Minimaliseer alle vensters"
-#: src/ui/gui/data-editor.ui:527
+#: src/ui/gui/data-editor.ui:555
msgid "_Split"
msgstr "_Splitsen"
-#: src/ui/gui/data-editor.ui:711
+#: src/ui/gui/data-editor.ui:743
msgid "Information Area"
msgstr "Informatiegebied"
-#: src/ui/gui/data-editor.ui:733
+#: src/ui/gui/data-editor.ui:765
msgid "Processor Area"
msgstr "Processorgebied"
-#: src/ui/gui/data-editor.ui:758
+#: src/ui/gui/data-editor.ui:790
msgid "Case Counter Area"
msgstr "Case-tellergebied"
-#: src/ui/gui/data-editor.ui:783
+#: src/ui/gui/data-editor.ui:815
msgid "Filter Use Status Area"
msgstr "Filtergebruik statusgebied"
-#: src/ui/gui/data-editor.ui:809
+#: src/ui/gui/data-editor.ui:841
msgid "Weight Status Area"
msgstr "Weging statusgebied"
-#: src/ui/gui/data-editor.ui:835
+#: src/ui/gui/data-editor.ui:867
msgid "Split File Status Area"
msgstr "Splitsbestand statusgebied"
msgid "To End"
msgstr "Naar einde"
-#~ msgid "Unknown variable format %<PRIu8>."
-#~ msgstr "Onbekend variabelenopmaak %<PRIu8>."
-
-#~ msgid "%s variable %s has invalid %s format %s."
-#~ msgstr "%s variabele %s heeft ongeldig %s opmaak %s."
-
-#~ msgid "print"
-#~ msgstr "afdrukken"
-
-#~ msgid "write"
-#~ msgstr "schrijf"
-
-#~ msgid "%s is allowed only before the active dataset has been defined or inside INPUT PROGRAM."
-#~ msgstr "%s is alleen toegestaan voordat de actieve dataset is gedefinieerd of binnen INPUT PROGRAMMA."
-
-#~ msgid "%s is allowed only after the active dataset has been defined or inside INPUT PROGRAM."
-#~ msgstr "%s is alleen toegestaan nadat de actieve dataset is gedefinieerd of binnen INPUT PROGRAM."
-
-#~ msgid "missing required subcommand %s"
-#~ msgstr "mis vereiste subopdracht %s"
-
-#~ msgid "expecting `%s'"
-#~ msgstr "verwacht '%s'"
-
-#~ msgid "String expected."
-#~ msgstr "Tekenreeks verwacht."
-
-#~ msgid "`(' expected after variable list."
-#~ msgstr "'(' verwacht na variabelenlijst."
-
-#~ msgid "`)' expected after output format."
-#~ msgstr "')' verwacht na uitvoerindeling."
-
-#~ msgid "%s subcommand may be given at most once."
-#~ msgstr "%s-subopdracht mag maximaal 1 keer gegeven worden."
-
-#~ msgid "`(' expected on %s subcommand."
-#~ msgstr "'(' verwacht in %s-subopdracht."
-
-#~ msgid "`)' expected following variable names on REORDER subcommand."
-#~ msgstr "')' verwacht achter variabelennamen in REORDER-subopdracht."
-
-#~ msgid "`=' expected between lists of new and old variable names on RENAME subcommand."
-#~ msgstr "'=' verwacht tussen lijst van nieuwe en oude variabelennamen in RENAME-subopdracht."
-
-#~ msgid "`)' expected after variable lists on RENAME subcommand."
-#~ msgstr "')' verwacht na variabelenlijst in RENAME-subopdracht."
-
-#~ msgid "`/' or `.' expected."
-#~ msgstr "'/' of '.' verwacht."
-
-#~ msgid "`(' expected."
-#~ msgstr "'(' verwacht."
-
-#~ msgid "`=' expected between lists of new and old variable names."
-#~ msgstr "'=' verwacht tussen lijst met nieuwe en oude variabelennamen."
-
-#~ msgid "`)' expected after variable names."
-#~ msgstr "')' verwacht achter variabelennamen."
-
-#~ msgid "expecting file name"
-#~ msgstr "bestandsnaam verwacht"
-
-#~ msgid "expecting %s or %s after %s"
-#~ msgstr "verwacht %s of %s na %s"
-
-#~ msgid "Expecting %s or %s."
-#~ msgstr "Verwacht %s of %s."
-
-#~ msgid "The %s subcommand may be given only once."
-#~ msgstr "De %s subopdracht mag maar 1 keer gegeven worden."
-
-#~ msgid "Variables cannot be parsed"
-#~ msgstr "Variabelen kunnen niet ontleed worden"
-
-#~ msgid "Cases >= Test Value"
-#~ msgstr "Cases >= Testwaarde "
-
-#~ msgid "`A' or `D' expected inside parentheses."
-#~ msgstr "'A' of 'D' verwacht binnen haakjes."
-
-#~ msgid "`)' expected."
-#~ msgstr "')' verwacht."
-
-#~ msgid "The BY subcommand is required."
-#~ msgstr "De BY subopdracht is verplicht."
-
-#~ msgid "`=' expected after variable list."
-#~ msgstr "'=' verwacht na variabelenlijst."
-
-#~ msgid "expecting `,' or `)' invoking %s function"
-#~ msgstr "verwacht ',' of ')' bij aanroep %s functie"
-
-#~ msgid "Unrecognized record type 7, subtype %d."
-#~ msgstr "Niet-herkend recordtype 7, subtype %d."
-
-#~ msgid "Bad size (%zu) or count (%zu) field on record type 7, subtype 3."
-#~ msgstr "Onjuiste lengte (%zu) of aantal (%zu) veld in recordtype 7, subtype 3."
-
-#~ msgid "Bad size (%zu) or count (%zu) on extension 4."
-#~ msgstr "Onjuiste lengte (%zu) of aantal (%zu) bij extensie 4."
-
-#~ msgid "Missing space following `%c' at offset %zu in MRSETS record"
-#~ msgstr "Ontbrekende spatie achter `%c' op offset %zu in MRSETS record"
-
-#~ msgid "Unexpected label source value `%s' following `E' at offset %zu in MRSETS record"
-#~ msgstr "Onverwachte labelbron waarde `%s' achter `E' op offset %zu in MRSETS record"
-
-#~ msgid "Bad size %zu on extension 11."
-#~ msgstr "Onjuiste lengte %zu voor extensie 11."
-
-#~ msgid "%s: Error parsing attribute value %s[%d]"
-#~ msgstr "%s: Fout bij het ontleden van attribuut waarde %s[%d]"
-
-#~ msgid "%s: Attribute value %s[%d] is not quoted: %s"
-#~ msgstr "%s: Attribuut waarde %s[%d] is niet geciteerd: %s"
-
-#~ msgid "Bad size %zu for extended number of cases."
-#~ msgstr "Onjuiste lengte %zu voor vergroot aantal cases."
-
-#~ msgid "Variable name length in long string value label record (%d) exceeds %d-byte limit."
-#~ msgstr "Variabele naam lengte in lange tekenreeks waarde label record (%d) overschrijdt %d-byte limiet."
-
-#~ msgid "`)' expected after GROUPED interval list."
-#~ msgstr "')' verwacht na GROUPED interval lijst."
-
-#~ msgid "FRACTION has been specified, but NORMAL and PROPORTION rank functions have not been requested. The FRACTION subcommand will be ignored."
-#~ msgstr "FRACTION is gespecificeerd maar NORMAL en PROPORTION rangschik functies zijn niet gevraagd. De FRACTION-subopdracht wordt genegeerd."
-
-#~ msgid "One or more VARIABLES must be specified."
-#~ msgstr "Een of meer VARIABLES moeten gespecificeerd zijn."
-
-#~ msgid "At least two variables must be specified on PAIRS."
-#~ msgstr "Tenminste 2 variabelen moeten opgegeven worden bij PAIRS."
-
-#~ msgid "No label"
-#~ msgstr "Geen label"
-
-#~ msgid "Suppress value labels"
-#~ msgstr "Waardelabels onderdrukken"
-
-#~ msgid "Labeling"
-#~ msgstr "labellen"
-
-#~ msgid "scratch file"
-#~ msgstr "scratchbestand"
-
-#~ msgid "Variable suffix too large."
-#~ msgstr "Variabelen-achtervoegsel te lang."
-
-#~ msgid "Missing space following `%c' at UTF-8 offset %zu in MRSETS record."
-#~ msgstr "Ontbrekende spatie achter`%c' op UTF-8 offset %zu in MRSETS record."
-
-#~ msgid "Unexpected label source value `%s' following `E' at UTF-8 offset %zu in MRSETS record."
-#~ msgstr "Onverwacht label bronwaarde `%s' achter `E' in UTF-8 offset %zu in MRSETS record."
-
-#~ msgid "PSPP-data"
-#~ msgstr "PSPP-data"
-
-#~ msgid "Syntax"
-#~ msgstr "Syntax"
-
-#~ msgid "%s %s PSPPIRE %s"
-#~ msgstr "%s %s PSPPIRE %s"
-
-#~ msgid "Untitled"
-#~ msgstr "Zonder titel"
-
-#~ msgid "Cannot create variable name from %s"
-#~ msgstr "Kan geen variabelennaam creëren van %s"
-
-#~ msgid "Duplicate variable name %s in position %d."
-#~ msgstr "Dubbele variabelennaam %s op positie %d."
-
-#~ msgid "Recoded variable name duplicates an existing `%s' within system file."
-#~ msgstr "Gehercodeerde variabelennaam dupliceert een bestaande '%s' binnen systeembestand."
-
-#, fuzzy
-#~ msgid "Variable name begins with invalid character `%c'."
-#~ msgstr "Variabele index %d niet in geldig bereik 1...%d."
-
-#~ msgid "Duplicate variable name `%s' within system file."
-#~ msgstr "Dubbele variabelennaam '%s' binnen systeembestand."
-
-#~ msgid "Document line contains null byte."
-#~ msgstr "Documentregel bevat null byte."
-
-#~ msgid "Duplicate long variable name `%s' within system file."
-#~ msgstr "Dubbele lange variabelennaam '%s' binnen systeembestand."
-
-#~ msgid "Invalid number of labels: %d. Ignoring labels."
-#~ msgstr "Ongeldig aantal labels: %d. Labels worden genegeerd."
-
-#~ msgid "Reading `%s': %s."
-#~ msgstr "Lezen '%s': %s."
-
-#~ msgid "Closing `%s': %s."
-#~ msgstr "Sluiten '%s': %s."
-
-#~ msgid "%s does not form a valid number."
-#~ msgstr "%s vormt geen geldig nummer."
-
-#~ msgid "binary"
-#~ msgstr "binair"
-
-#~ msgid "octal"
-#~ msgstr "octaal"
-
-#~ msgid "hex"
-#~ msgstr "hexadecimaal"
-
-#~ msgid "Unexpected end of file in string concatenation."
-#~ msgstr "Onverwacht bestandseinde in tekenreeks samenvoeging."
-
-#~ msgid "incorrect use of TO convention"
-#~ msgstr "foutief gebruik van TO conventie"
-
-#~ msgid "DO REPEAT may not nest in compatibility mode."
-#~ msgstr "DO REPEAT mag niet nesten in compatibiliteitsmodus."
-
-#~ msgid "%s is too long for a variable name."
-#~ msgstr "%s is te lang voor een variabelennaam."
-
-#~ msgid "%zu-byte string needed but %zu-byte string supplied."
-#~ msgstr "%zu-byte tekenreeks nodig maar %zu-byte tekenreeks gegeven."
-
-#~ msgid "Hexadecimal floating constant too long."
-#~ msgstr "Hexadecimale drijvende constante te lang."
-
-#~ msgid "%s conversion of %s from %s to %s should have produced %s but actually produced %s."
-#~ msgstr "%s conversie van %s van %s naar %s zou %s moeten produceren maar produceerde in werkelijkheid %s."
-
-#~ msgid "Too many values in single command."
-#~ msgstr "Te veel waardes in enkele opdracht."
-
-#~ msgid "Unexpected token: `%s'."
-#~ msgstr "Onverwacht symbool: '%s'."
-
-#~ msgid "Unable to open `%s': %s."
-#~ msgstr "Onmogelijk om te openen '%s': %s."
-
-#~ msgid "Analyse"
-#~ msgstr "Analyseer"
-
-#~ msgid "column %d"
-#~ msgstr "kolom %d"
-
-#~ msgid "columns %d-%d"
-#~ msgstr "kolommen %d-%d"
-
-#~ msgid "%s field) "
-#~ msgstr "%s veld) "
-
-#~ msgid "Syntax error %s at %s."
-#~ msgstr "Syntaxfout %s op %s."
-
-#~ msgid "expecting ATTRIBUTE= or DELETE="
-#~ msgstr "verwacht ATTRIBUTE= of DELETE="
-
-#~ msgid "expecting `('"
-#~ msgstr "'(' verwacht"
-
-#~ msgid "String expected for variable label."
-#~ msgstr "Tekenreeks verwacht voor variabelenlabel."
-
-#~ msgid "Expecting BATCH or INTERACTIVE after SYNTAX."
-#~ msgstr "BATCH of INTERACTIVE verwacht na SYNTAX."
-
-#~ msgid "Expecting YES or NO after CD."
-#~ msgstr "YES of NO verwacht na CD."
-
-#~ msgid "Expecting CONTINUE or STOP after ERROR."
-#~ msgstr "CONTINUE of STOP verwacht na ERROR."
-
-#~ msgid "while expecting COLUMNWISE"
-#~ msgstr "terwijl COLUMNWISE verwacht werd"
-
-#~ msgid "expecting BREAK"
-#~ msgstr "BREAK verwacht"
-
-#~ msgid "expecting `)'"
-#~ msgstr "')' verwacht"
-
-#~ msgid "expecting VARIABLES"
-#~ msgstr "VARIABLES verwacht"
-
-#~ msgid "in expression"
-#~ msgstr "in expressie"
-
-#~ msgid "expecting BY"
-#~ msgstr "BY verwacht"
-
-#~ msgid "Multivariate GLM not yet supported"
-#~ msgstr "Mutivariante GLM wordt nog niet ondersteund"
-
-#~ msgid "expecting FIXED or DELIMITED"
-#~ msgstr "FIXED of DELIMITED verwacht"
-
-#~ msgid "expecting LINE or VARIABLES"
-#~ msgstr "LINE of VARIABLES verwacht"
-
-#~ msgid "expecting COMM or TAPE"
-#~ msgstr "COMM of TAPE verwacht"
-
-#~ msgid "COLUMN subcommand multiply specified."
-#~ msgstr "COLUMN-subopdracht meerdere keren gespecificeerd."
-
-#~ msgid "hash table:"
-#~ msgstr "hash-tabel:"
-
-#~ msgid "Warnings (%d) exceed limit (%d)."
-#~ msgstr "Waarschuwingen (%d) overschrijden limiet (%d)."
-
-#~ msgid "Errors (%d) exceed limit (%d)."
-#~ msgstr "Fouten (%d) overschrijden limiet (%d)."
-
-#~ msgid "`%s' is not a variable name"
-#~ msgstr "'%s' is geen variabelennaam"
-
-#~ msgid " cases"
-#~ msgstr " cases"
-
-#~ msgid "Error closing FLIP source file: %s."
-#~ msgstr "Fout tijdens sluiten FLIP bronbestand: %s."
-
-#~ msgid "%s: Creating temporary file: %s."
-#~ msgstr "%s: Aanmaken tijdelijk bestand: %s."
-
-#~ msgid "%s: Creating file: %s."
-#~ msgstr "%s: Aanmaken bestand: %s."
+#: src/ui/gui/var-type-dialog.ui:79
+msgid "Scientific notation"
+msgstr "Wetenschappelijke notatie"
-#~ msgid "String exceeds 255 characters in length (%zu characters)."
-#~ msgstr "Tekenreeks overschrijdt de lengte van 255 tekens (%zu tekens)."
+#: src/ui/gui/var-type-dialog.ui:127
+msgid "Custom currency"
+msgstr "Aangepaste waarde"
-#~ msgid "Missing required subcommand TABLES."
-#~ msgstr "Mis vereiste subopdracht TABLES."
+#: src/ui/gui/var-type-dialog.ui:229
+msgid "positive"
+msgstr "positief"
-#~ msgid "TABLES subcommand may not appear more than once."
-#~ msgstr "TABLES-subopdracht mag niet meer dan 1 keer voorkomen."
+#: src/ui/gui/var-type-dialog.ui:238
+msgid "negative"
+msgstr "negatief"
-#~ msgid "Sort Ascending"
-#~ msgstr "Sorteer oplopend"
+#: src/ui/gui/var-type-dialog.ui:251
+msgid "Sample"
+msgstr "Steekproef"
-#~ msgid "Sort Descending"
-#~ msgstr "Sorteer aflopend"
+#: src/ui/gui/var-type-dialog.ui:298
+msgid "Width:"
+msgstr "Breedte:"
-#~ msgid "Variable %s has label of invalid length %zu."
-#~ msgstr "Variabele %s heeft label van ongeldige lengte %zu."
+#: src/ui/gui/var-type-dialog.ui:349
+msgid "Decimal Places:"
+msgstr "Decimalen:"
-#~ msgid "Dependent variable must be numeric."
-#~ msgstr "Afhankelijke variabele moet numeriek zijn."
+#: src/ui/gui/gen-dot-desktop.sh:14
+msgid "Statistical Software"
+msgstr "Statistische Software"
-#~ msgid "_About"
-#~ msgstr "_Over"
+#: src/ui/gui/gen-dot-desktop.sh:15
+msgid "Analyze statistical data with a free alternative to SPSS"
+msgstr ""
struct casereader *clone;
casenumber n_cases;
+ /* This seems to avoid a bug in Gcc 4.4.5 where, upon
+ return from this function, the stack appeared corrupt,
+ and the program returned to the wrong address. Oddly
+ the problem only manifested itself when used in conjunction
+ with the ODS reader, in code such as:
+
+ GET DATA /TYPE=ODS ....
+ LIST.
+ */
+#if (__GNUC__ == 4 ) && (__GNUC_MINOR__ == 4)
+ volatile int x = 1; x++;
+#endif
+
clone = casereader_clone (reader);
n_cases = casereader_advance (clone, max_cases);
casereader_destroy (clone);
/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2006, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2006, 2009, 2010, 2011, 2012, 2013 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
/* FH_REF_FILE only. */
char *file_name; /* File name as provided by user. */
enum fh_mode mode; /* File mode. */
+ enum fh_line_ends line_ends; /* Line ends for text files. */
/* FH_REF_FILE and FH_REF_INLINE only. */
size_t record_width; /* Length of fixed-format records. */
handle = create_handle (id, handle_name, FH_REF_FILE, properties->encoding);
handle->file_name = xstrdup (file_name);
handle->mode = properties->mode;
+ handle->line_ends = properties->line_ends;
handle->record_width = properties->record_width;
handle->tab_width = properties->tab_width;
return handle;
const struct fh_properties *
fh_default_properties (void)
{
+#if defined _WIN32 || defined __WIN32__
+#define DEFAULT_LINE_ENDS FH_END_CRLF
+#else
+#define DEFAULT_LINE_ENDS FH_END_LF
+#endif
+
static const struct fh_properties default_properties
- = {FH_MODE_TEXT, 1024, 4, (char *) "Auto"};
+ = {FH_MODE_TEXT, DEFAULT_LINE_ENDS, 1024, 4, (char *) "Auto"};
return &default_properties;
}
return handle->mode;
}
+/* Returns the line ends of HANDLE, which must be a handle associated with a
+ file. */
+enum fh_line_ends
+fh_get_line_ends (const struct file_handle *handle)
+{
+ assert (handle->referent == FH_REF_FILE);
+ return handle->line_ends;
+}
+
/* Returns the width of a logical record on HANDLE. */
size_t
fh_get_record_width (const struct file_handle *handle)
/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2005, 2006, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2005, 2006, 2010, 2011, 2013 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
FH_ACC_WRITE /* Write to it. */
};
+/* How a line ends.
+
+ This affects only writing FH_MODE_TEXT files. Writing in other modes does
+ not use line ends, and reading in FH_MODE_TEXT mode accepts all forms of
+ line ends. */
+enum fh_line_ends
+ {
+ FH_END_LF, /* Unix line ends (\n). */
+ FH_END_CRLF /* MS-DOS line ends (\r\n). */
+ };
+
/* Properties of a file handle. */
struct fh_properties
{
enum fh_mode mode; /* File mode. */
+ enum fh_line_ends line_ends; /* Line ends for text files. */
size_t record_width; /* Length of fixed-format records. */
size_t tab_width; /* Tab width, 0=do not expand tabs. */
const char *encoding; /* Charset for contents. */
/* Properties of FH_REF_FILE file handles. */
const char *fh_get_file_name (const struct file_handle *);
enum fh_mode fh_get_mode (const struct file_handle *) ;
+enum fh_line_ends fh_get_line_ends (const struct file_handle *);
/* Properties of FH_REF_FILE and FH_REF_INLINE file handles. */
size_t fh_get_record_width (const struct file_handle *);
int maxrow;
};
-
-struct gnumeric_reader
+struct state_data
{
- struct spreadsheet spreadsheet;
- int ref_cnt;
-
/* The libxml reader for this instance */
xmlTextReaderPtr xtr;
/* An internal state variable */
enum reader_state state;
+ int node_type;
+ int current_sheet;
+
int row;
int col;
+
int min_col;
- int node_type;
- int current_sheet;
+};
+
+
+static void
+state_data_destroy (struct state_data *sd)
+{
+ xmlFreeTextReader (sd->xtr);
+}
+
+
+struct gnumeric_reader
+{
+ struct spreadsheet spreadsheet;
+ int ref_cnt;
+
+ struct state_data rsd;
+ struct state_data msd;
int start_col;
int stop_col;
}
free (r->sheets);
+ state_data_destroy (&r->msd);
free (r);
}
}
-static void process_node (struct gnumeric_reader *r);
+static void process_node (struct gnumeric_reader *r, struct state_data *sd);
while (
(gr->sheets[n].stop_col == -1)
&&
- (1 == (ret = xmlTextReaderRead (gr->xtr)))
+ (1 == (ret = xmlTextReaderRead (gr->msd.xtr)))
)
{
- process_node (gr);
+ process_node (gr, &gr->msd);
}
return create_cell_ref (
gnm_file_casereader_destroy (struct casereader *reader UNUSED, void *r_)
{
struct gnumeric_reader *r = r_;
+
if ( r == NULL)
return ;
- if ( r->xtr)
- xmlFreeTextReader (r->xtr);
- r->xtr = NULL;
+ state_data_destroy (&r->rsd);
- if ( ! r->used_first_case )
+ if (r->first_case && ! r->used_first_case )
case_unref (r->first_case);
- caseproto_unref (r->proto);
+ if (r->proto)
+ caseproto_unref (r->proto);
gnumeric_destroy (&r->spreadsheet);
}
static void
-process_node (struct gnumeric_reader *r)
+process_node (struct gnumeric_reader *r, struct state_data *sd)
{
- xmlChar *name = xmlTextReaderName (r->xtr);
+ xmlChar *name = xmlTextReaderName (sd->xtr);
if (name == NULL)
name = xmlStrdup (_xml ("--"));
- r->node_type = xmlTextReaderNodeType (r->xtr);
+ sd->node_type = xmlTextReaderNodeType (sd->xtr);
- switch (r->state)
+ switch (sd->state)
{
case STATE_PRE_INIT:
- r->current_sheet = -1;
+ sd->current_sheet = -1;
if (0 == xmlStrcasecmp (name, _xml("gnm:SheetNameIndex")) &&
- XML_READER_TYPE_ELEMENT == r->node_type)
+ XML_READER_TYPE_ELEMENT == sd->node_type)
{
- r->state = STATE_SHEET_COUNT;
+ sd->state = STATE_SHEET_COUNT;
}
break;
case STATE_SHEET_COUNT:
if (0 == xmlStrcasecmp (name, _xml("gnm:SheetName")) &&
- XML_READER_TYPE_ELEMENT == r->node_type)
+ XML_READER_TYPE_ELEMENT == sd->node_type)
{
- ++r->current_sheet;
- if (r->current_sheet + 1 > r->spreadsheet.n_sheets)
+ ++sd->current_sheet;
+ if (sd->current_sheet + 1 > r->spreadsheet.n_sheets)
{
- struct sheet_detail *sd ;
- r->sheets = xrealloc (r->sheets, (r->current_sheet + 1) * sizeof *r->sheets);
- sd = &r->sheets[r->current_sheet];
- sd->start_col = sd->stop_col = sd->start_row = sd->stop_row = -1;
- r->spreadsheet.n_sheets = r->current_sheet + 1;
+ struct sheet_detail *detail ;
+ r->sheets = xrealloc (r->sheets, (sd->current_sheet + 1) * sizeof *r->sheets);
+ detail = &r->sheets[sd->current_sheet];
+ detail->start_col = detail->stop_col = detail->start_row = detail->stop_row = -1;
+ detail->name = NULL;
+ r->spreadsheet.n_sheets = sd->current_sheet + 1;
}
}
else if (0 == xmlStrcasecmp (name, _xml("gnm:SheetNameIndex")) &&
- XML_READER_TYPE_END_ELEMENT == r->node_type)
+ XML_READER_TYPE_END_ELEMENT == sd->node_type)
{
- r->state = STATE_INIT;
- r->current_sheet = -1;
+ sd->state = STATE_INIT;
+ sd->current_sheet = -1;
}
- else if (XML_READER_TYPE_TEXT == r->node_type)
+ else if (XML_READER_TYPE_TEXT == sd->node_type)
{
- r->sheets [r->spreadsheet.n_sheets - 1].name = CHAR_CAST (char *, xmlTextReaderValue (r->xtr));
+ if ( r->sheets [r->spreadsheet.n_sheets - 1].name == NULL)
+ r->sheets [r->spreadsheet.n_sheets - 1].name = CHAR_CAST (char *, xmlTextReaderValue (sd->xtr));
}
break;
case STATE_INIT:
if (0 == xmlStrcasecmp (name, _xml("gnm:Sheet")) &&
- XML_READER_TYPE_ELEMENT == r->node_type)
+ XML_READER_TYPE_ELEMENT == sd->node_type)
{
- ++r->current_sheet;
- r->state = STATE_SHEET_START;
+ ++sd->current_sheet;
+ sd->state = STATE_SHEET_START;
}
break;
case STATE_SHEET_START:
if (0 == xmlStrcasecmp (name, _xml("gnm:Name")) &&
- XML_READER_TYPE_ELEMENT == r->node_type)
+ XML_READER_TYPE_ELEMENT == sd->node_type)
{
- r->state = STATE_SHEET_NAME;
+ sd->state = STATE_SHEET_NAME;
}
break;
case STATE_SHEET_NAME:
if (0 == xmlStrcasecmp (name, _xml("gnm:Name")) &&
- XML_READER_TYPE_END_ELEMENT == r->node_type)
+ XML_READER_TYPE_END_ELEMENT == sd->node_type)
{
- r->state = STATE_INIT;
+ sd->state = STATE_INIT;
}
else if (0 == xmlStrcasecmp (name, _xml("gnm:Sheet")) &&
- XML_READER_TYPE_END_ELEMENT == r->node_type)
+ XML_READER_TYPE_END_ELEMENT == sd->node_type)
{
- r->state = STATE_INIT;
+ sd->state = STATE_INIT;
}
- else if (XML_READER_TYPE_TEXT == r->node_type)
+ else if (XML_READER_TYPE_TEXT == sd->node_type)
{
if ( r->target_sheet != NULL)
{
- xmlChar *value = xmlTextReaderValue (r->xtr);
+ xmlChar *value = xmlTextReaderValue (sd->xtr);
if ( 0 == xmlStrcmp (value, r->target_sheet))
- r->state = STATE_SHEET_FOUND;
+ sd->state = STATE_SHEET_FOUND;
free (value);
}
- else if (r->target_sheet_index == r->current_sheet + 1)
+ else if (r->target_sheet_index == sd->current_sheet + 1)
{
- r->state = STATE_SHEET_FOUND;
+ sd->state = STATE_SHEET_FOUND;
}
else if (r->target_sheet_index == -1)
{
- r->state = STATE_SHEET_FOUND;
+ sd->state = STATE_SHEET_FOUND;
}
}
break;
case STATE_SHEET_FOUND:
if (0 == xmlStrcasecmp (name, _xml("gnm:Cells")) &&
- XML_READER_TYPE_ELEMENT == r->node_type)
+ XML_READER_TYPE_ELEMENT == sd->node_type)
{
- r->min_col = INT_MAX;
- if (! xmlTextReaderIsEmptyElement (r->xtr))
- r->state = STATE_CELLS_START;
+ sd->min_col = INT_MAX;
+ if (! xmlTextReaderIsEmptyElement (sd->xtr))
+ sd->state = STATE_CELLS_START;
}
else if (0 == xmlStrcasecmp (name, _xml("gnm:MaxRow")) &&
- XML_READER_TYPE_ELEMENT == r->node_type)
+ XML_READER_TYPE_ELEMENT == sd->node_type)
{
- r->state = STATE_MAXROW;
+ sd->state = STATE_MAXROW;
}
else if (0 == xmlStrcasecmp (name, _xml("gnm:MaxCol")) &&
- XML_READER_TYPE_ELEMENT == r->node_type)
+ XML_READER_TYPE_ELEMENT == sd->node_type)
{
- r->state = STATE_MAXCOL;
+ sd->state = STATE_MAXCOL;
}
else if (0 == xmlStrcasecmp (name, _xml("gnm:Sheet")) &&
- XML_READER_TYPE_END_ELEMENT == r->node_type)
+ XML_READER_TYPE_END_ELEMENT == sd->node_type)
{
- r->state = STATE_INIT;
+ sd->state = STATE_INIT;
}
break;
case STATE_MAXROW:
if (0 == xmlStrcasecmp (name, _xml("gnm:MaxRow")) &&
- XML_READER_TYPE_END_ELEMENT == r->node_type)
+ XML_READER_TYPE_END_ELEMENT == sd->node_type)
{
- r->state = STATE_SHEET_FOUND;
+ sd->state = STATE_SHEET_FOUND;
}
- else if (r->node_type == XML_READER_TYPE_TEXT)
+ else if (sd->node_type == XML_READER_TYPE_TEXT)
{
- xmlChar *value = xmlTextReaderValue (r->xtr);
- r->sheets[r->current_sheet].maxrow = _xmlchar_to_int (value);
+ xmlChar *value = xmlTextReaderValue (sd->xtr);
+ r->sheets[sd->current_sheet].maxrow = _xmlchar_to_int (value);
xmlFree (value);
}
break;
case STATE_MAXCOL:
if (0 == xmlStrcasecmp (name, _xml("gnm:MaxCol")) &&
- XML_READER_TYPE_END_ELEMENT == r->node_type)
+ XML_READER_TYPE_END_ELEMENT == sd->node_type)
{
- r->state = STATE_SHEET_FOUND;
+ sd->state = STATE_SHEET_FOUND;
}
- else if (r->node_type == XML_READER_TYPE_TEXT)
+ else if (sd->node_type == XML_READER_TYPE_TEXT)
{
- xmlChar *value = xmlTextReaderValue (r->xtr);
- r->sheets[r->current_sheet].maxcol = _xmlchar_to_int (value);
+ xmlChar *value = xmlTextReaderValue (sd->xtr);
+ r->sheets[sd->current_sheet].maxcol = _xmlchar_to_int (value);
xmlFree (value);
}
break;
case STATE_CELLS_START:
if (0 == xmlStrcasecmp (name, _xml ("gnm:Cell")) &&
- XML_READER_TYPE_ELEMENT == r->node_type)
+ XML_READER_TYPE_ELEMENT == sd->node_type)
{
xmlChar *attr = NULL;
- attr = xmlTextReaderGetAttribute (r->xtr, _xml ("Col"));
- r->col = _xmlchar_to_int (attr);
+ attr = xmlTextReaderGetAttribute (sd->xtr, _xml ("Col"));
+ sd->col = _xmlchar_to_int (attr);
free (attr);
- if (r->col < r->min_col)
- r->min_col = r->col;
+ if (sd->col < sd->min_col)
+ sd->min_col = sd->col;
- attr = xmlTextReaderGetAttribute (r->xtr, _xml ("Row"));
- r->row = _xmlchar_to_int (attr);
+ attr = xmlTextReaderGetAttribute (sd->xtr, _xml ("Row"));
+ sd->row = _xmlchar_to_int (attr);
free (attr);
- if (r->sheets[r->current_sheet].start_row == -1)
+ if (r->sheets[sd->current_sheet].start_row == -1)
{
- r->sheets[r->current_sheet].start_row = r->row;
+ r->sheets[sd->current_sheet].start_row = sd->row;
}
- if (r->sheets[r->current_sheet].start_col == -1)
+ if (r->sheets[sd->current_sheet].start_col == -1)
{
- r->sheets[r->current_sheet].start_col = r->col;
+ r->sheets[sd->current_sheet].start_col = sd->col;
}
- if (! xmlTextReaderIsEmptyElement (r->xtr))
- r->state = STATE_CELL;
+ if (! xmlTextReaderIsEmptyElement (sd->xtr))
+ sd->state = STATE_CELL;
}
- else if ( (0 == xmlStrcasecmp (name, _xml("gnm:Cells"))) && (XML_READER_TYPE_END_ELEMENT == r->node_type) )
+ else if ( (0 == xmlStrcasecmp (name, _xml("gnm:Cells"))) && (XML_READER_TYPE_END_ELEMENT == sd->node_type) )
{
- r->sheets[r->current_sheet].stop_col = r->col;
- r->sheets[r->current_sheet].stop_row = r->row;
- r->state = STATE_SHEET_NAME;
+ r->sheets[sd->current_sheet].stop_col = sd->col;
+ r->sheets[sd->current_sheet].stop_row = sd->row;
+ sd->state = STATE_SHEET_NAME;
}
break;
case STATE_CELL:
- if (0 == xmlStrcasecmp (name, _xml("gnm:Cell")) && XML_READER_TYPE_END_ELEMENT == r->node_type)
+ if (0 == xmlStrcasecmp (name, _xml("gnm:Cell")) && XML_READER_TYPE_END_ELEMENT == sd->node_type)
{
- r->state = STATE_CELLS_START;
+ sd->state = STATE_CELLS_START;
}
break;
default:
static struct gnumeric_reader *
gnumeric_reopen (struct gnumeric_reader *r, const char *filename, bool show_errors)
{
- int ret;
+ int ret = -1;
+ struct state_data *sd;
xmlTextReaderPtr xtr;
gzFile gz;
assert (r == NULL || filename == NULL);
- if (r && r->xtr)
- xmlFreeTextReader (r->xtr);
-
if (filename)
- gz = gzopen (filename, "r");
+ {
+ gz = gzopen (filename, "r");
+ }
else
- gz = gzopen ( r->spreadsheet.file_name, "r");
+ {
+ gz = gzopen (r->spreadsheet.file_name, "r");
+ }
if (NULL == gz)
return NULL;
r = xzalloc (sizeof *r);
r->spreadsheet.n_sheets = -1;
r->spreadsheet.file_name = filename;
+ sd = &r->msd;
+ }
+ else
+ {
+ sd = &r->rsd;
}
if (show_errors)
r->target_sheet = NULL;
r->target_sheet_index = -1;
- r->row = r->col = -1;
- r->state = STATE_PRE_INIT;
- r->xtr = xtr;
+ sd->row = sd->col = -1;
+ sd->state = STATE_PRE_INIT;
+ sd->xtr = xtr;
r->ref_cnt++;
/* Advance to the start of the workbook.
This gives us some confidence that we are actually dealing with a gnumeric
spreadsheet.
*/
- while ( (r->state != STATE_INIT )
- && 1 == (ret = xmlTextReaderRead (r->xtr)))
+ while ( (sd->state != STATE_INIT )
+ && 1 == (ret = xmlTextReaderRead (sd->xtr)))
{
- process_node (r);
+ process_node (r, sd);
}
if ( ret != 1)
{
/* Does not seem to be a gnumeric file */
- xmlFreeTextReader (r->xtr);
+ xmlFreeTextReader (sd->xtr);
free (r);
return NULL;
}
if (show_errors)
{
- const xmlChar *enc = xmlTextReaderConstEncoding (r->xtr);
+ const xmlChar *enc = xmlTextReaderConstEncoding (sd->xtr);
xmlCharEncoding xce = xmlParseCharEncoding (CHAR_CAST (const char *, enc));
if ( XML_CHAR_ENCODING_UTF8 != xce)
r = (struct gnumeric_reader *) (spreadsheet);
- if (r->row != -1)
- r = gnumeric_reopen (r, NULL, true);
-
-
+ r = gnumeric_reopen (r, NULL, true);
if ( opts->cell_range )
{
r->target_sheet = BAD_CAST opts->sheet_name;
r->target_sheet_index = opts->sheet_index;
- r->row = r->col = -1;
- r->current_sheet = -1;
+ r->rsd.row = r->rsd.col = -1;
+ r->rsd.current_sheet = -1;
+ r->first_case = NULL;
+ r->proto = NULL;
/* Advance to the start of the cells for the target sheet */
- while ( (r->state != STATE_CELL || r->row < r->start_row )
- && 1 == (ret = xmlTextReaderRead (r->xtr)))
+ while ( (r->rsd.state != STATE_CELL || r->rsd.row < r->start_row )
+ && 1 == (ret = xmlTextReaderRead (r->rsd.xtr)))
{
xmlChar *value ;
- process_node (r);
- value = xmlTextReaderValue (r->xtr);
+ process_node (r, &r->rsd);
+ value = xmlTextReaderValue (r->rsd.xtr);
- if ( r->state == STATE_MAXROW && r->node_type == XML_READER_TYPE_TEXT)
+ if ( r->rsd.state == STATE_MAXROW && r->rsd.node_type == XML_READER_TYPE_TEXT)
{
n_cases = 1 + _xmlchar_to_int (value) ;
}
/* Read in the first row of cells,
including the headers if read_names was set */
while (
- (( r->state == STATE_CELLS_START && r->row <= r->start_row) || r->state == STATE_CELL )
- && (ret = xmlTextReaderRead (r->xtr))
+ (( r->rsd.state == STATE_CELLS_START && r->rsd.row <= r->start_row) || r->rsd.state == STATE_CELL )
+ && (ret = xmlTextReaderRead (r->rsd.xtr))
)
{
int idx;
- process_node (r);
+ process_node (r, &r->rsd);
- if ( r->row > r->start_row ) break;
+ if ( r->rsd.row > r->start_row ) break;
- if ( r->col < r->start_col ||
- (r->stop_col != -1 && r->col > r->stop_col))
+ if ( r->rsd.col < r->start_col ||
+ (r->stop_col != -1 && r->rsd.col > r->stop_col))
continue;
- idx = r->col - r->start_col;
+ idx = r->rsd.col - r->start_col;
if ( idx >= n_var_specs )
{
n_var_specs = idx + 1 ;
}
- if ( r->node_type == XML_READER_TYPE_TEXT )
+ if ( r->rsd.node_type == XML_READER_TYPE_TEXT )
{
- xmlChar *value = xmlTextReaderValue (r->xtr);
+ xmlChar *value = xmlTextReaderValue (r->rsd.xtr);
const char *text = CHAR_CAST (const char *, value);
- if ( r->row < r->start_row)
+ if ( r->rsd.row < r->start_row)
{
if ( opts->read_names )
{
free (value);
}
- else if ( r->node_type == XML_READER_TYPE_ELEMENT
- && r->state == STATE_CELL)
+ else if ( r->rsd.node_type == XML_READER_TYPE_ELEMENT
+ && r->rsd.state == STATE_CELL)
{
- if ( r->row == r->start_row )
+ if ( r->rsd.row == r->start_row )
{
xmlChar *attr =
- xmlTextReaderGetAttribute (r->xtr, _xml ("ValueType"));
+ xmlTextReaderGetAttribute (r->rsd.xtr, _xml ("ValueType"));
if ( NULL == attr || 60 != _xmlchar_to_int (attr))
var_spec [idx].width = 0;
}
{
- const xmlChar *enc = xmlTextReaderConstEncoding (r->xtr);
+ const xmlChar *enc = xmlTextReaderConstEncoding (r->rsd.xtr);
if ( enc == NULL)
goto error;
/* Create the dictionary and populate it */
int ret = 0;
struct gnumeric_reader *r = r_;
- int current_row = r->row;
+ int current_row = r->rsd.row;
if ( !r->used_first_case )
{
case_set_missing (c);
if (r->start_col == -1)
- r->start_col = r->min_col;
+ r->start_col = r->rsd.min_col;
- while ((r->state == STATE_CELL || r->state == STATE_CELLS_START )
- && r->row == current_row && (ret = xmlTextReaderRead (r->xtr)))
+ while ((r->rsd.state == STATE_CELL || r->rsd.state == STATE_CELLS_START )
+ && r->rsd.row == current_row && (ret = xmlTextReaderRead (r->rsd.xtr)))
{
- process_node (r);
+ process_node (r, &r->rsd);
- if ( r->col < r->start_col || (r->stop_col != -1 &&
- r->col > r->stop_col))
+ if ( r->rsd.col < r->start_col || (r->stop_col != -1 &&
+ r->rsd.col > r->stop_col))
continue;
- if ( r->col - r->start_col >= caseproto_get_n_widths (r->proto))
+ if ( r->rsd.col - r->start_col >= caseproto_get_n_widths (r->proto))
continue;
- if ( r->stop_row != -1 && r->row > r->stop_row)
+ if ( r->stop_row != -1 && r->rsd.row > r->stop_row)
break;
- if ( r->node_type == XML_READER_TYPE_TEXT )
+ if ( r->rsd.node_type == XML_READER_TYPE_TEXT )
{
- xmlChar *value = xmlTextReaderValue (r->xtr);
+ xmlChar *value = xmlTextReaderValue (r->rsd.xtr);
- const int idx = r->col - r->start_col;
+ const int idx = r->rsd.col - r->start_col;
const struct variable *var = dict_get_var (r->dict, idx);
free (value);
}
-
}
if (ret == 1)
STATE_CELL_CONTENT /* Found a the text within a cell */
};
-struct ods_reader
+struct state_data
{
- struct spreadsheet spreadsheet;
- struct zip_reader *zreader;
xmlTextReaderPtr xtr;
- int ref_cnt;
-
+ int node_type;
enum reader_state state;
int row;
int col;
- int node_type;
int current_sheet;
xmlChar *current_sheet_name;
- xmlChar *target_sheet_name;
+ int col_span;
+};
+
+static void
+state_data_destroy (struct state_data *sd)
+{
+ xmlFree (sd->current_sheet_name);
+ sd->current_sheet_name = NULL;
+
+ xmlFreeTextReader (sd->xtr);
+ sd->xtr = NULL;
+}
+
+struct ods_reader
+{
+ struct spreadsheet spreadsheet;
+ struct zip_reader *zreader;
+ int ref_cnt;
int target_sheet_index;
+ xmlChar *target_sheet_name;
+
+ /* State data for the meta data */
+ struct state_data msd;
+ /* State data for the reader */
+ struct state_data rsd;
int start_row;
int start_col;
int stop_row;
int stop_col;
- int col_span;
-
struct sheet_detail *sheets;
int n_allocated_sheets;
{
int i;
+ state_data_destroy (&r->msd);
for (i = 0; i < r->n_allocated_sheets; ++i)
{
xmlFree (r->sheets[i].name);
}
-
+
zip_reader_destroy (r->zreader);
free (r->sheets);
+
free (r);
}
}
static bool
-reading_target_sheet (const struct ods_reader *r)
+reading_target_sheet (const struct ods_reader *r, const struct state_data *msd)
{
if (r->target_sheet_name != NULL)
{
- if ( 0 == xmlStrcmp (r->target_sheet_name, r->current_sheet_name))
+ if ( 0 == xmlStrcmp (r->target_sheet_name, msd->current_sheet_name))
return true;
}
- if (r->target_sheet_index == r->current_sheet + 1)
+ if (r->target_sheet_index == msd->current_sheet + 1)
return true;
return false;
}
-static void process_node (struct ods_reader *r);
+static void process_node (struct ods_reader *or, struct state_data *r);
const char *
ods_get_sheet_name (struct spreadsheet *s, int n)
{
- struct ods_reader *or = (struct ods_reader *) s;
-
+ struct ods_reader *r = (struct ods_reader *) s;
+ struct state_data *or = &r->msd;
+
assert (n < s->n_sheets);
while (
- (or->n_allocated_sheets <= n)
+ (r->n_allocated_sheets <= n)
|| or->state != STATE_SPREADSHEET
)
{
if ( ret != 1)
break;
- process_node (or);
+ process_node (r, or);
}
- return or->sheets[n].name;
+ return r->sheets[n].name;
}
char *
ods_get_sheet_range (struct spreadsheet *s, int n)
{
- struct ods_reader *or = (struct ods_reader *) s;
+ struct ods_reader *r = (struct ods_reader *) s;
+ struct state_data *or = &r->msd;
assert (n < s->n_sheets);
while (
- (or->n_allocated_sheets <= n)
- || (or->sheets[n].stop_row == -1)
+ (r->n_allocated_sheets <= n)
+ || (r->sheets[n].stop_row == -1)
|| or->state != STATE_SPREADSHEET
)
{
if ( ret != 1)
break;
- process_node (or);
+ process_node (r, or);
}
return create_cell_ref (
- or->sheets[n].start_col,
- or->sheets[n].start_row,
- or->sheets[n].stop_col,
- or->sheets[n].stop_row);
+ r->sheets[n].start_col,
+ r->sheets[n].start_row,
+ r->sheets[n].stop_col,
+ r->sheets[n].stop_row);
}
if ( r == NULL)
return ;
- if (r->xtr)
- xmlFreeTextReader (r->xtr);
- r->xtr = NULL;
+ state_data_destroy (&r->rsd);
if ( ! ds_is_empty (&r->ods_errs))
msg (ME, "%s", ds_cstr (&r->ods_errs));
ds_destroy (&r->ods_errs);
- if ( ! r->used_first_case )
+ if ( r->first_case && ! r->used_first_case )
case_unref (r->first_case);
+
caseproto_unref (r->proto);
+ r->proto = NULL;
- xmlFree (r->current_sheet_name);
xmlFree (r->target_sheet_name);
+ r->target_sheet_name = NULL;
+
ods_destroy (&r->spreadsheet);
}
static void
-process_node (struct ods_reader *r)
+process_node (struct ods_reader *or, struct state_data *r)
{
xmlChar *name = xmlTextReaderName (r->xtr);
if (name == NULL)
++r->current_sheet;
- if (r->current_sheet >= r->n_allocated_sheets)
+ if (r->current_sheet >= or->n_allocated_sheets)
{
- assert (r->current_sheet == r->n_allocated_sheets);
- r->sheets = xrealloc (r->sheets, sizeof (*r->sheets) * ++r->n_allocated_sheets);
- r->sheets[r->n_allocated_sheets - 1].start_col = -1;
- r->sheets[r->n_allocated_sheets - 1].stop_col = -1;
- r->sheets[r->n_allocated_sheets - 1].start_row = -1;
- r->sheets[r->n_allocated_sheets - 1].stop_row = -1;
- r->sheets[r->n_allocated_sheets - 1].name = CHAR_CAST (char *, xmlStrdup (r->current_sheet_name));
+ assert (r->current_sheet == or->n_allocated_sheets);
+ or->sheets = xrealloc (or->sheets, sizeof (*or->sheets) * ++or->n_allocated_sheets);
+ or->sheets[or->n_allocated_sheets - 1].start_col = -1;
+ or->sheets[or->n_allocated_sheets - 1].stop_col = -1;
+ or->sheets[or->n_allocated_sheets - 1].start_row = -1;
+ or->sheets[or->n_allocated_sheets - 1].stop_row = -1;
+ or->sheets[or->n_allocated_sheets - 1].name = CHAR_CAST (char *, xmlStrdup (r->current_sheet_name));
}
r->col = 0;
break;
case STATE_CELL_CONTENT:
assert (r->current_sheet >= 0);
- assert (r->current_sheet < r->n_allocated_sheets);
+ assert (r->current_sheet < or->n_allocated_sheets);
- if (r->sheets[r->current_sheet].start_row == -1)
- r->sheets[r->current_sheet].start_row = r->row - 1;
+ if (or->sheets[r->current_sheet].start_row == -1)
+ or->sheets[r->current_sheet].start_row = r->row - 1;
if (
- (r->sheets[r->current_sheet].start_col == -1)
+ (or->sheets[r->current_sheet].start_col == -1)
||
- (r->sheets[r->current_sheet].start_col >= r->col - 1)
+ (or->sheets[r->current_sheet].start_col >= r->col - 1)
)
- r->sheets[r->current_sheet].start_col = r->col - 1;
+ or->sheets[r->current_sheet].start_col = r->col - 1;
- r->sheets[r->current_sheet].stop_row = r->row - 1;
+ or->sheets[r->current_sheet].stop_row = r->row - 1;
- if ( r->sheets[r->current_sheet].stop_col < r->col - 1)
- r->sheets[r->current_sheet].stop_col = r->col - 1;
+ if ( or->sheets[r->current_sheet].stop_col < r->col - 1)
+ or->sheets[r->current_sheet].stop_col = r->col - 1;
if (XML_READER_TYPE_END_ELEMENT == r->node_type)
r->state = STATE_CELL;
}
-static bool
+static xmlTextReaderPtr
init_reader (struct ods_reader *r, bool report_errors)
{
struct zip_member *content = zip_member_open (r->zreader, "content.xml");
xmlTextReaderPtr xtr;
if ( content == NULL)
- return false;
-
- if (r->xtr)
- xmlFreeTextReader (r->xtr);
+ return NULL;
- zip_member_ref (content);
xtr = xmlReaderForIO ((xmlInputReadCallback) zip_member_read,
- (xmlInputCloseCallback) zip_member_finish,
+ (xmlInputCloseCallback) NULL,
content, NULL, NULL,
report_errors ? 0 : (XML_PARSE_NOERROR | XML_PARSE_NOWARNING) );
if ( xtr == NULL)
return false;
- r->xtr = xtr;
+
r->spreadsheet.type = SPREADSHEET_ODS;
- r->row = 0;
- r->col = 0;
- r->current_sheet = 0;
- r->state = STATE_INIT;
if (report_errors)
xmlTextReaderSetErrorHandler (xtr, ods_error_handler, r);
- return true;
+ return xtr;
}
struct string errs = DS_EMPTY_INITIALIZER;
int sheet_count;
struct zip_reader *zr = zip_reader_create (filename, &errs);
+ xmlTextReaderPtr xtr;
if (zr == NULL)
{
r->zreader = zr;
r->ref_cnt = 1;
- if (! init_reader (r, report_errors))
+ xtr = init_reader (r, report_errors);
+ if (xtr == NULL)
{
goto error;
}
+ r->msd.xtr = xtr;
+ r->msd.row = 0;
+ r->msd.col = 0;
+ r->msd.current_sheet = 0;
+ r->msd.state = STATE_INIT;
+
r->spreadsheet.n_sheets = sheet_count;
r->n_allocated_sheets = 0;
int i;
struct var_spec *var_spec = NULL;
int n_var_specs = 0;
+ xmlTextReaderPtr xtr;
struct ods_reader *r = (struct ods_reader *) spreadsheet;
xmlChar *val_string = NULL;
ds_init_empty (&r->ods_errs);
++r->ref_cnt;
- if ( !init_reader (r, true))
+ xtr = init_reader (r, true);
+ if ( xtr == NULL)
goto error;
+ r->rsd.xtr = xtr;
+ r->rsd.row = 0;
+ r->rsd.col = 0;
+ r->rsd.current_sheet = 0;
+ r->rsd.state = STATE_INIT;
+
+ r->used_first_case = false;
+ r->first_case = NULL;
+
if (opts->cell_range)
{
if ( ! convert_cell_ref (opts->cell_range,
r->stop_row = -1;
}
- r->state = STATE_INIT;
r->target_sheet_name = xmlStrdup (BAD_CAST opts->sheet_name);
r->target_sheet_index = opts->sheet_index;
- r->row = r->col = 0;
-
/* Advance to the start of the cells for the target sheet */
- while ( ! reading_target_sheet (r)
- || r->state != STATE_ROW || r->row <= r->start_row )
+ while ( ! reading_target_sheet (r, &r->rsd)
+ || r->rsd.state != STATE_ROW || r->rsd.row <= r->start_row )
{
- if (1 != (ret = xmlTextReaderRead (r->xtr)))
+ if (1 != (ret = xmlTextReaderRead (r->rsd.xtr)))
break;
- process_node (r);
+ process_node (r, &r->rsd);
}
if (ret < 1)
if ( opts->read_names)
{
- while (1 == (ret = xmlTextReaderRead (r->xtr)))
+ while (1 == xmlTextReaderRead (r->rsd.xtr))
{
int idx;
- process_node (r);
+ process_node (r, &r->rsd);
/* If the row is finished then stop for now */
- if (r->state == STATE_TABLE && r->row > r->start_row)
+ if (r->rsd.state == STATE_TABLE && r->rsd.row > r->start_row)
break;
- idx = r->col - r->start_col -1 ;
+ idx = r->rsd.col - r->start_col -1 ;
if ( idx < 0)
continue;
if (r->stop_col != -1 && idx > r->stop_col - r->start_col)
continue;
- if (r->state == STATE_CELL_CONTENT
+ if (r->rsd.state == STATE_CELL_CONTENT
&&
- XML_READER_TYPE_TEXT == r->node_type)
+ XML_READER_TYPE_TEXT == r->rsd.node_type)
{
- xmlChar *value = xmlTextReaderValue (r->xtr);
+ xmlChar *value = xmlTextReaderValue (r->rsd.xtr);
if ( idx >= n_var_specs)
{
}
/* Read in the first row of data */
- while (1 == xmlTextReaderRead (r->xtr))
+ while (1 == xmlTextReaderRead (r->rsd.xtr))
{
int idx;
- process_node (r);
+ process_node (r, &r->rsd);
- if ( ! reading_target_sheet (r) )
+ if ( ! reading_target_sheet (r, &r->rsd) )
break;
/* If the row is finished then stop for now */
- if (r->state == STATE_TABLE &&
- r->row > r->start_row + (opts->read_names ? 1 : 0))
+ if (r->rsd.state == STATE_TABLE &&
+ r->rsd.row > r->start_row + (opts->read_names ? 1 : 0))
break;
- idx = r->col - r->start_col - 1;
+ idx = r->rsd.col - r->start_col - 1;
if (idx < 0)
continue;
if (r->stop_col != -1 && idx > r->stop_col - r->start_col)
continue;
- if ( r->state == STATE_CELL &&
- XML_READER_TYPE_ELEMENT == r->node_type)
+ if ( r->rsd.state == STATE_CELL &&
+ XML_READER_TYPE_ELEMENT == r->rsd.node_type)
{
- type = xmlTextReaderGetAttribute (r->xtr, _xml ("office:value-type"));
- val_string = xmlTextReaderGetAttribute (r->xtr, _xml ("office:value"));
+ type = xmlTextReaderGetAttribute (r->rsd.xtr, _xml ("office:value-type"));
+ val_string = xmlTextReaderGetAttribute (r->rsd.xtr, _xml ("office:value"));
}
- if ( r->state == STATE_CELL_CONTENT &&
- XML_READER_TYPE_TEXT == r->node_type)
+ if ( r->rsd.state == STATE_CELL_CONTENT &&
+ XML_READER_TYPE_TEXT == r->rsd.node_type)
{
if (idx >= n_var_specs)
{
}
var_spec [idx].firstval.type = type;
- var_spec [idx].firstval.text = xmlTextReaderValue (r->xtr);
+ var_spec [idx].firstval.text = xmlTextReaderValue (r->rsd.xtr);
var_spec [idx].firstval.value = val_string;
val_string = NULL;
/* Create the dictionary and populate it */
r->spreadsheet.dict = r->dict = dict_create (
- CHAR_CAST (const char *, xmlTextReaderConstEncoding (r->xtr)));
+ CHAR_CAST (const char *, xmlTextReaderConstEncoding (r->rsd.xtr)));
for (i = 0; i < n_var_specs ; ++i )
{
var_set_both_formats (var, &fmt);
}
- /* Create the first case, and cache it */
- r->used_first_case = false;
-
if ( n_var_specs == 0 )
{
msg (MW, _("Selected sheet or range of spreadsheet `%s' is empty."),
goto error;
}
+ /* Create the first case, and cache it */
r->proto = caseproto_ref (dict_get_proto (r->dict));
r->first_case = case_create (r->proto);
case_set_missing (r->first_case);
}
/* Read in the first row of data */
- while (1 == xmlTextReaderRead (r->xtr))
+ while (1 == xmlTextReaderRead (r->rsd.xtr))
{
- process_node (r);
+ process_node (r, &r->rsd);
- if (r->state == STATE_ROW)
+ if (r->rsd.state == STATE_ROW)
break;
}
ods_file_casereader_read (struct casereader *reader UNUSED, void *r_)
{
struct ccase *c = NULL;
+ struct ods_reader *r = r_;
+
xmlChar *val_string = NULL;
xmlChar *type = NULL;
- struct ods_reader *r = r_;
if (!r->used_first_case)
{
/* Advance to the start of a row. (If there is one) */
- while (r->state != STATE_ROW
- && 1 == xmlTextReaderRead (r->xtr)
+ while (r->rsd.state != STATE_ROW
+ && 1 == xmlTextReaderRead (r->rsd.xtr)
)
{
- process_node (r);
+ process_node (r, &r->rsd);
}
- if ( ! reading_target_sheet (r)
- || r->state < STATE_TABLE
- || (r->stop_row != -1 && r->row > r->stop_row + 1)
+ if ( ! reading_target_sheet (r, &r->rsd)
+ || r->rsd.state < STATE_TABLE
+ || (r->stop_row != -1 && r->rsd.row > r->stop_row + 1)
)
{
return NULL;
c = case_create (r->proto);
case_set_missing (c);
- while (1 == xmlTextReaderRead (r->xtr))
+ while (1 == xmlTextReaderRead (r->rsd.xtr))
{
- process_node (r);
+ process_node (r, &r->rsd);
- if ( r->stop_row != -1 && r->row > r->stop_row + 1)
+ if ( r->stop_row != -1 && r->rsd.row > r->stop_row + 1)
break;
- if (r->state == STATE_CELL &&
- r->node_type == XML_READER_TYPE_ELEMENT)
+ if (r->rsd.state == STATE_CELL &&
+ r->rsd.node_type == XML_READER_TYPE_ELEMENT)
{
- type = xmlTextReaderGetAttribute (r->xtr, _xml ("office:value-type"));
- val_string = xmlTextReaderGetAttribute (r->xtr, _xml ("office:value"));
+ type = xmlTextReaderGetAttribute (r->rsd.xtr, _xml ("office:value-type"));
+ val_string = xmlTextReaderGetAttribute (r->rsd.xtr, _xml ("office:value"));
}
- if (r->state == STATE_CELL_CONTENT &&
- r->node_type == XML_READER_TYPE_TEXT)
+ if (r->rsd.state == STATE_CELL_CONTENT &&
+ r->rsd.node_type == XML_READER_TYPE_TEXT)
{
int col;
struct xml_value *xmv = xzalloc (sizeof *xmv);
- xmv->text = xmlTextReaderValue (r->xtr);
+ xmv->text = xmlTextReaderValue (r->rsd.xtr);
xmv->value = val_string;
xmv->type = type;
val_string = NULL;
- for (col = 0; col < r->col_span; ++col)
+ for (col = 0; col < r->rsd.col_span; ++col)
{
const struct variable *var;
- const int idx = r->col - col - r->start_col - 1;
+ const int idx = r->rsd.col - col - r->start_col - 1;
if (idx < 0)
continue;
if (r->stop_col != -1 && idx > r->stop_col - r->start_col )
xmlFree (xmv->type);
free (xmv);
}
- if ( r->state <= STATE_TABLE)
+ if ( r->rsd.state <= STATE_TABLE)
break;
}
bytes. */
void
-settings_set_workspace ( size_t workspace)
+settings_set_workspace (size_t workspace)
{
the_settings.workspace = workspace;
}
## Process this file with automake to produce Makefile.in -*- makefile -*-
src_language_data_io_built_sources = \
- src/language/data-io/file-handle.c \
- src/language/data-io/list.c
+ src/language/data-io/file-handle.c
language_data_io_sources = \
src/language/data-io/combine-files.c \
src/language/data-io/get.c \
src/language/data-io/inpt-pgm.c \
src/language/data-io/inpt-pgm.h \
+ src/language/data-io/list.c \
src/language/data-io/placement-parser.c \
src/language/data-io/placement-parser.h \
src/language/data-io/print-space.c \
/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 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
saw_sort = true;
}
- merge_dictionary (proc.dict, file);
+ if (!merge_dictionary (proc.dict, file))
+ goto error;
}
while (lex_token (lexer) != T_ENDCMD)
if (var_get_width (mv) != var_get_width (dv))
{
const char *var_name = var_get_name (dv);
- const char *file_name = fh_get_name (f->handle);
struct string s = DS_EMPTY_INITIALIZER;
+ const char *file_name;
+
+ file_name = f->handle ? fh_get_name (f->handle) : "*";
ds_put_format (&s,
_("Variable %s in file %s has different "
"type or width from the same variable in "
/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-2004, 2006, 2010, 2011, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1997-2004, 2006, 2010, 2011, 2012, 2013 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
FILE *file; /* Associated file. */
struct replace_file *rf; /* Atomic file replacement support. */
char *encoding; /* Encoding. */
+ enum fh_line_ends line_ends; /* Line ends for text files. */
int unit; /* Unit width, in bytes. */
+ char cr[MAX_UNIT]; /* \r in encoding, 'unit' bytes long. */
char lf[MAX_UNIT]; /* \n in encoding, 'unit' bytes long. */
char spaces[32]; /* 32 bytes worth of ' ' in encoding. */
};
w->rf = replace_file_start (fh_get_file_name (w->fh), "wb", 0666,
&w->file, NULL);
w->encoding = xstrdup (encoding);
+ w->line_ends = fh_get_line_ends (fh);
w->unit = ei.unit;
+ memcpy (w->cr, ei.cr, sizeof w->cr);
memcpy (w->lf, ei.lf, sizeof w->lf);
for (ofs = 0; ofs + ei.unit <= sizeof w->spaces; ofs += ei.unit)
memcpy (&w->spaces[ofs], ei.space, ei.unit);
{
case FH_MODE_TEXT:
fwrite (rec, len, 1, w->file);
+ if (w->line_ends == FH_END_CRLF)
+ fwrite (w->cr, w->unit, 1, w->file);
fwrite (w->lf, w->unit, 1, w->file);
break;
/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2006, 2010, 2011, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2006, 2010, 2011, 2012, 2013 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
lrecl=integer;
tabwidth=integer;
mode=mode:!character/binary/image/360;
+ ends=ends:lf/crlf;
recform=recform:fixed/f/variable/v/spanned/vs;
encoding=string.
*/
else
msg (SE, _("%s must not be negative."), "TABWIDTH");
}
+ if (cmd.ends == FH_LF)
+ properties.line_ends = FH_END_LF;
+ else if (cmd.ends == FH_CRLF)
+ properties.line_ends = FH_END_CRLF;
break;
case FH_IMAGE:
properties.mode = FH_MODE_FIXED;
int
cmd_get_data (struct lexer *lexer, struct dataset *ds)
{
- struct spreadsheet_read_options opts;
char *tok = NULL;
+ struct spreadsheet_read_options opts;
+
+ opts.sheet_name = NULL;
+ opts.sheet_index = -1;
+ opts.cell_range = NULL;
+ opts.read_names = false;
+ opts.asw = -1;
+
lex_force_match (lexer, T_SLASH);
if (!lex_force_match_id (lexer, "TYPE"))
goto error;
reader = gnumeric_make_reader (spreadsheet, &opts);
dict = spreadsheet->dict;
+ gnumeric_destroy (spreadsheet);
}
else if (0 == strncasecmp (tok, "ODS", 3))
{
--- /dev/null
+/* PSPP - a program for statistical analysis.
+ Copyright (C) 1997-9, 2000, 2006, 2009-2011, 2013 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
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "data/casegrouper.h"
+#include "data/casereader.h"
+#include "data/dataset.h"
+#include "data/dictionary.h"
+#include "data/data-out.h"
+#include "data/format.h"
+#include "data/subcase.h"
+#include "data/variable.h"
+#include "language/command.h"
+#include "language/dictionary/split-file.h"
+#include "language/lexer/lexer.h"
+#include "language/lexer/variable-parser.h"
+#include "libpspp/compiler.h"
+#include "libpspp/ll.h"
+#include "libpspp/message.h"
+#include "libpspp/misc.h"
+#include "output/tab.h"
+#include "output/table-item.h"
+
+#include "gl/intprops.h"
+#include "gl/minmax.h"
+#include "gl/xalloc.h"
+#include "gl/xmalloca.h"
+
+#include "gettext.h"
+#define _(msgid) gettext (msgid)
+
+enum numbering
+ {
+ format_unnumbered,
+ format_numbered
+ };
+
+
+struct lst_cmd
+{
+ long first;
+ long last;
+ long step;
+ const struct variable **v_variables;
+ size_t n_variables;
+ enum numbering numbering;
+};
+
+
+static int
+list_execute (const struct lst_cmd *lcmd, struct dataset *ds)
+{
+ const struct dictionary *dict = dataset_dict (ds);
+
+ bool ok;
+ int i;
+ struct casegrouper *grouper;
+ struct casereader *group;
+ struct subcase sc;
+
+ subcase_init_empty (&sc);
+ for (i = 0; i < lcmd->n_variables; i++)
+ subcase_add_var (&sc, lcmd->v_variables[i], SC_ASCEND);
+
+
+ grouper = casegrouper_create_splits (proc_open (ds), dict);
+ while (casegrouper_get_next_group (grouper, &group))
+ {
+ struct ccase *ccase;
+ struct table *t;
+
+ ccase = casereader_peek (group, 0);
+ if (ccase != NULL)
+ {
+ output_split_file_values (ds, ccase);
+ case_unref (ccase);
+ }
+
+ group = casereader_project (group, &sc);
+ if (lcmd->numbering == format_numbered)
+ group = casereader_create_arithmetic_sequence (group, 1, 1);
+ group = casereader_select (group, lcmd->first - 1,
+ (lcmd->last != LONG_MAX ? lcmd->last
+ : CASENUMBER_MAX), lcmd->step);
+
+ if (lcmd->numbering == format_numbered)
+ {
+ struct fmt_spec fmt;
+ size_t col;
+ int width;
+
+ width = lcmd->last == LONG_MAX ? 5 : intlog10 (lcmd->last);
+ fmt = fmt_for_output (FMT_F, width, 0);
+ col = caseproto_get_n_widths (casereader_get_proto (group)) - 1;
+
+ t = table_from_casereader (group, col, _("Case Number"), &fmt);
+ }
+ else
+ t = NULL;
+
+ for (i = 0; i < lcmd->n_variables; i++)
+ {
+ const struct variable *var = lcmd->v_variables[i];
+ struct table *c;
+
+ c = table_from_casereader (group, i, var_get_name (var),
+ var_get_print_format (var));
+ t = table_hpaste (t, c);
+ }
+
+ casereader_destroy (group);
+
+ table_item_submit (table_item_create (t, "Data List"));
+ }
+ ok = casegrouper_destroy (grouper);
+ ok = proc_commit (ds) && ok;
+
+ subcase_destroy (&sc);
+ free (lcmd->v_variables);
+
+ return ok ? CMD_SUCCESS : CMD_CASCADING_FAILURE;
+}
+
+
+/* Parses and executes the LIST procedure. */
+int
+cmd_list (struct lexer *lexer, struct dataset *ds)
+{
+ struct lst_cmd cmd;
+ const struct dictionary *dict = dataset_dict (ds);
+
+ /* Fill in defaults. */
+ cmd.step = 1;
+ cmd.first = 1;
+ cmd.last = LONG_MAX;
+ cmd.n_variables = 0;
+ cmd.v_variables = NULL;
+ cmd.numbering = format_unnumbered;
+
+
+ while (lex_token (lexer) != T_ENDCMD)
+ {
+ lex_match (lexer, T_SLASH);
+ if (lex_match_id (lexer, "VARIABLES") )
+ {
+ lex_match (lexer, T_EQUALS);
+ if (! parse_variables_const (lexer, dict, &cmd.v_variables, &cmd.n_variables, 0 ))
+ {
+ msg (SE, _("No variables specified."));
+ return CMD_FAILURE;
+ }
+ }
+ else if (lex_match_id (lexer, "FORMAT") )
+ {
+ lex_match (lexer, T_EQUALS);
+ if (lex_match_id (lexer, "NUMBERED") )
+ {
+ cmd.numbering = format_numbered;
+ }
+ else if (lex_match_id (lexer, "UNNUMBERED") )
+ {
+ cmd.numbering = format_unnumbered;
+ }
+ else
+ {
+ lex_error (lexer, NULL);
+ goto error;
+ }
+ }
+ /* example: LIST /CASES=FROM 1 TO 25 BY 5. */
+ else if (lex_match_id (lexer, "CASES"))
+ {
+ lex_match (lexer, T_EQUALS);
+ lex_force_match_id (lexer, "FROM");
+
+ if (lex_force_int (lexer))
+ {
+ cmd.first = lex_integer (lexer);
+ lex_get (lexer);
+ }
+
+ lex_force_match (lexer, T_TO);
+
+ if (lex_force_int (lexer))
+ {
+ cmd.last = lex_integer (lexer);
+ lex_get (lexer);
+ }
+
+ lex_force_match (lexer, T_BY);
+
+ if (lex_force_int (lexer))
+ {
+ cmd.step = lex_integer (lexer);
+ lex_get (lexer);
+ }
+ }
+ else if (! parse_variables_const (lexer, dict, &cmd.v_variables, &cmd.n_variables, 0 ))
+ {
+ return CMD_FAILURE;
+ }
+ }
+
+
+ /* Verify arguments. */
+ if (cmd.first > cmd.last)
+ {
+ int t;
+ msg (SW, _("The first case (%ld) specified precedes the last case (%ld) "
+ "specified. The values will be swapped."), cmd.first, cmd.last);
+ t = cmd.first;
+ cmd.first = cmd.last;
+ cmd.last = t;
+ }
+
+ if (cmd.first < 1)
+ {
+ msg (SW, _("The first case (%ld) to list is less than 1. The value is "
+ "being reset to 1."), cmd.first);
+ cmd.first = 1;
+ }
+
+ if (cmd.last < 1)
+ {
+ msg (SW, _("The last case (%ld) to list is less than 1. The value is "
+ "being reset to 1."), cmd.last);
+ cmd.last = 1;
+ }
+
+ if (cmd.step < 1)
+ {
+ msg (SW, _("The step value %ld is less than 1. The value is being "
+ "reset to 1."), cmd.step);
+ cmd.step = 1;
+ }
+
+ /* If no variables were explicitly provided, then default to ALL */
+ if (cmd.n_variables == 0)
+ dict_get_vars (dict, &cmd.v_variables, &cmd.n_variables,
+ DC_SYSTEM | DC_SCRATCH);
+
+ return list_execute (&cmd, ds);
+
+ error:
+ free (cmd.v_variables);
+ return CMD_FAILURE;
+}
+
+++ /dev/null
-/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2006, 2009-2011 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
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-#include <stdint.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "data/casegrouper.h"
-#include "data/casereader.h"
-#include "data/dataset.h"
-#include "data/dictionary.h"
-#include "data/data-out.h"
-#include "data/format.h"
-#include "data/subcase.h"
-#include "data/variable.h"
-#include "language/command.h"
-#include "language/dictionary/split-file.h"
-#include "language/lexer/lexer.h"
-#include "libpspp/compiler.h"
-#include "libpspp/ll.h"
-#include "libpspp/message.h"
-#include "libpspp/misc.h"
-#include "output/tab.h"
-#include "output/table-item.h"
-
-#include "gl/intprops.h"
-#include "gl/minmax.h"
-#include "gl/xalloc.h"
-#include "gl/xmalloca.h"
-
-#include "gettext.h"
-#define _(msgid) gettext (msgid)
-
-/* (headers) */
-
-/* (specification)
- list (lst_):
- *variables=varlist("PV_NO_SCRATCH");
- cases=:from n:first,"%s>0"/by n:step,"%s>0"/ *to n:last,"%s>0";
- +format=numbering:numbered/!unnumbered,
- wrap:!wrap/single.
-*/
-/* (declarations) */
-/* (functions) */
-
-/* Parsed command. */
-static struct cmd_list cmd;
-
-/* Parses and executes the LIST procedure. */
-int
-cmd_list (struct lexer *lexer, struct dataset *ds)
-{
- struct dictionary *dict = dataset_dict (ds);
- struct casegrouper *grouper;
- struct casereader *group;
- struct subcase sc;
- size_t i;
- bool ok;
-
- if (!parse_list (lexer, ds, &cmd, NULL))
- return CMD_FAILURE;
-
- /* Fill in defaults. */
- if (cmd.step == LONG_MIN)
- cmd.step = 1;
- if (cmd.first == LONG_MIN)
- cmd.first = 1;
- if (cmd.last == LONG_MIN)
- cmd.last = LONG_MAX;
- if (!cmd.sbc_variables)
- dict_get_vars (dict, &cmd.v_variables, &cmd.n_variables,
- DC_SYSTEM | DC_SCRATCH);
- if (cmd.n_variables == 0)
- {
- msg (SE, _("No variables specified."));
- return CMD_FAILURE;
- }
-
- /* Verify arguments. */
- if (cmd.first > cmd.last)
- {
- int t;
- msg (SW, _("The first case (%ld) specified precedes the last case (%ld) "
- "specified. The values will be swapped."), cmd.first, cmd.last);
- t = cmd.first;
- cmd.first = cmd.last;
- cmd.last = t;
- }
- if (cmd.first < 1)
- {
- msg (SW, _("The first case (%ld) to list is less than 1. The value is "
- "being reset to 1."), cmd.first);
- cmd.first = 1;
- }
- if (cmd.last < 1)
- {
- msg (SW, _("The last case (%ld) to list is less than 1. The value is "
- "being reset to 1."), cmd.last);
- cmd.last = 1;
- }
- if (cmd.step < 1)
- {
- msg (SW, _("The step value %ld is less than 1. The value is being "
- "reset to 1."), cmd.step);
- cmd.step = 1;
- }
-
- subcase_init_empty (&sc);
- for (i = 0; i < cmd.n_variables; i++)
- subcase_add_var (&sc, cmd.v_variables[i], SC_ASCEND);
-
- grouper = casegrouper_create_splits (proc_open (ds), dict);
- while (casegrouper_get_next_group (grouper, &group))
- {
- struct ccase *ccase;
- struct table *t;
-
- ccase = casereader_peek (group, 0);
- if (ccase != NULL)
- {
- output_split_file_values (ds, ccase);
- case_unref (ccase);
- }
-
- group = casereader_project (group, &sc);
- if (cmd.numbering == LST_NUMBERED)
- group = casereader_create_arithmetic_sequence (group, 1, 1);
- group = casereader_select (group, cmd.first - 1,
- (cmd.last != LONG_MAX ? cmd.last
- : CASENUMBER_MAX), cmd.step);
-
- if (cmd.numbering == LST_NUMBERED)
- {
- struct fmt_spec fmt;
- size_t col;
- int width;
-
- width = cmd.last == LONG_MAX ? 5 : intlog10 (cmd.last);
- fmt = fmt_for_output (FMT_F, width, 0);
- col = caseproto_get_n_widths (casereader_get_proto (group)) - 1;
-
- t = table_from_casereader (group, col, _("Case Number"), &fmt);
- }
- else
- t = NULL;
-
- for (i = 0; i < cmd.n_variables; i++)
- {
- const struct variable *var = cmd.v_variables[i];
- struct table *c;
-
- c = table_from_casereader (group, i, var_get_name (var),
- var_get_print_format (var));
- t = table_hpaste (t, c);
- }
-
- casereader_destroy (group);
-
- table_item_submit (table_item_create (t, "Data List"));
- }
- ok = casegrouper_destroy (grouper);
- ok = proc_commit (ds) && ok;
-
- subcase_destroy (&sc);
- free (cmd.v_variables);
-
- return ok ? CMD_SUCCESS : CMD_CASCADING_FAILURE;
-}
-
-/*
- Local Variables:
- mode: c
- End:
-*/
/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2009, 2010, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2009, 2010, 2012, 2013 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
/* Explains how to recode an AUTORECODE variable. */
struct arc_spec
{
- const struct variable *src; /* Source variable. */
+ int width; /* Variable width. */
+ int src_idx; /* Case index of source variable. */
struct variable *dst; /* Target variable. */
struct rec_items *items;
};
struct rec_items *global_items;
bool blank_valid;
- const struct dictionary *dict;
};
static trns_proc_func autorecode_trns_proc;
/* Create procedure. */
arc = xzalloc (sizeof *arc);
arc->blank_valid = true;
- arc->dict = dataset_dict (ds);
/* Parse variable lists. */
lex_match_id (lexer, "VARIABLES");
lex_match (lexer, T_EQUALS);
- if (!parse_variables_const (lexer, arc->dict, &src_vars, &n_srcs,
- PV_NO_DUPLICATE))
+ if (!parse_variables_const (lexer, dict, &src_vars, &n_srcs,
+ PV_NO_DUPLICATE | PV_NO_SCRATCH))
goto error;
if (!lex_force_match_id (lexer, "INTO"))
goto error;
lex_match (lexer, T_EQUALS);
- if (!parse_DATA_LIST_vars (lexer, arc->dict, &dst_names, &n_dsts,
+ if (!parse_DATA_LIST_vars (lexer, dict, &dst_names, &n_dsts,
PV_NO_DUPLICATE))
goto error;
if (n_dsts != n_srcs)
{
const char *name = dst_names[i];
- if (dict_lookup_var (arc->dict, name) != NULL)
+ if (dict_lookup_var (dict, name) != NULL)
{
msg (SE, _("Target variable %s duplicates existing variable %s."),
name, name);
{
struct arc_spec *spec = &arc->specs[i];
- spec->src = src_vars[i];
+ spec->width = var_get_width (src_vars[i]);
+ spec->src_idx = var_get_case_index (src_vars[i]);
if (arc->global_items)
{
for (i = 0; i < arc->n_specs; i++)
{
struct arc_spec *spec = &arc->specs[i];
- int width = var_get_width (spec->src);
- const union value *value = case_data (c, spec->src);
+ int width = spec->width;
+ const union value *value = case_data_idx (c, spec->src_idx);
size_t hash = value_hash (value, width, 0);
struct arc_item *item;
item = find_arc_item (spec, value, hash);
if ( (item == NULL)
&&
- ( arc->blank_valid || var_is_numeric (spec->src) || ! value_is_blank (value, width, arc->dict))
+ ( arc->blank_valid
+ || val_type_from_width (spec->width) == VAL_NUMERIC
+ || ! value_is_blank (value, width, dict))
)
{
item = xmalloc (sizeof *item);
ok = casereader_destroy (input);
ok = proc_commit (ds) && ok;
+ /* Re-fetch dictionary because it might have changed (if TEMPORARY was in
+ use). */
+ dict = dataset_dict (ds);
+
/* Create transformation. */
for (i = 0; i < arc->n_specs; i++)
{
{
const union value *from = &items[j]->from;
char *recoded_value = NULL;
- char *c;
const int src_width = items[j]->width;
union value to_val;
+ size_t len;
+
value_init (&to_val, 0);
items[j]->to = direction == ASCENDING ? j + 1 : n_items - j;
{
const char *str = CHAR_CAST_BUG (const char*, value_str (from, src_width));
- recoded_value = recode_string (UTF8, dict_get_encoding (arc->dict), str, src_width);
+ recoded_value = recode_string (UTF8, dict_get_encoding (dict),
+ str, src_width);
}
else
recoded_value = c_xasprintf ("%g", from->f);
/* Remove trailing whitespace */
- for (c = recoded_value; *c != '\0'; c++)
- if ( *c == ' ')
- {
- *c = '\0';
- break;
- }
+ len = strlen (recoded_value);
+ while (len > 0 && recoded_value[len - 1] == ' ')
+ recoded_value[--len] = '\0';
var_add_value_label (spec->dst, &to_val, recoded_value);
value_destroy (&to_val, 0);
struct arc_item *item;
HMAP_FOR_EACH_WITH_HASH (item, struct arc_item, hmap_node, hash, &spec->items->ht)
- if (value_equal (value, &item->from, var_get_width (spec->src)))
+ if (value_equal (value, &item->from, spec->width))
return item;
return NULL;
}
for (i = 0; i < arc->n_specs; i++)
{
const struct arc_spec *spec = &arc->specs[i];
- int width = var_get_width (spec->src);
- const union value *value = case_data (*c, spec->src);
- const struct arc_item *item = find_arc_item (spec, value, value_hash (value, width, 0));
+ const union value *value = case_data_idx (*c, spec->src_idx);
+ unsigned int hash = value_hash (value, spec->width, 0);
+ const struct arc_item *item = find_arc_item (spec, value, hash);
case_data_rw (*c, spec->dst)->f = item ? item->to : SYSMIS;
}
for (c = 0 ; c < matrix_cols ; ++c)
{
const struct variable *v = corr->n_vars_total > corr->n_vars1 ?
- corr->vars[corr->n_vars_total - corr->n_vars1 - 1 + c] : corr->vars[c];
+ corr->vars[corr->n_vars1 + c] : corr->vars[c];
tab_text (t, heading_columns + c, 0, TAB_LEFT | TAT_TITLE, var_to_string (v));
}
size_t n_percentiles;
bool npplot;
- bool histogram;
+ bool histogramplot;
bool boxplot;
- bool spreadlevel;
+ bool spreadlevelplot;
int sl_power;
enum bp_mode boxplot_mode;
int v;
const struct examine *examine = aux1;
struct exploratory_stats *es = user_data;
-
+
for (v = 0; v < examine->n_dep_vars; v++)
{
struct ccase *outcase ;
struct casereader *reader;
struct ccase *c;
- if (examine->histogram)
+ if (examine->histogramplot)
{
/* Sturges Rule */
double bin_width = fabs (es[v].minimum - es[v].maximum)
categoricals_set_payload (cmd->cats, &payload, cmd, NULL);
- if (cmd->id_idx == -1)
+ if (cmd->id_var == NULL)
{
struct ccase *c = casereader_peek (input, 0);
- assert (cmd->id_var == NULL);
-
cmd->id_idx = case_get_value_cnt (c);
input = casereader_create_arithmetic_sequence (input, 1.0, 1.0);
}
}
- if (cmd->histogram)
+ if (cmd->histogramplot)
show_histogram (cmd, i);
if (cmd->npplot)
show_npplot (cmd, i);
- if (cmd->spreadlevel)
+ if (cmd->spreadlevelplot)
show_spreadlevel (cmd, i);
if (cmd->descriptives)
examine.dep_excl = MV_ANY;
examine.fctr_excl = MV_ANY;
- examine.histogram = false;
+ examine.histogramplot = false;
examine.npplot = false;
examine.boxplot = false;
- examine.spreadlevel = false;
+ examine.spreadlevelplot = false;
examine.sl_power = 0;
examine.dict = dataset_dict (ds);
}
else if (lex_match_id (lexer, "HISTOGRAM"))
{
- examine.histogram = true;
+ examine.histogramplot = true;
}
else if (lex_match_id (lexer, "SPREADLEVEL"))
{
- examine.spreadlevel = true;
+ examine.spreadlevelplot = true;
examine.sl_power = 0;
if (lex_match (lexer, T_LPAREN))
{
}
else if (lex_match_id (lexer, "NONE"))
{
- examine.histogram = false;
+ examine.histogramplot = false;
examine.npplot = false;
examine.boxplot = false;
}
else if (lex_match (lexer, T_ALL))
{
- examine.histogram = true;
+ examine.histogramplot = true;
examine.npplot = true;
examine.boxplot = true;
}
/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2009, 2010, 2011, 2013 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
int n_cases; /* Pre-flip number of cases. */
struct variable *new_names_var; /* Variable with new variable names. */
- struct dictionary *dict; /* Dictionary of the names */
+ const char *encoding; /* Variable names' encoding. */
struct var_names old_names; /* Variable names before FLIP. */
struct var_names new_names; /* Variable names after FLIP. */
int
cmd_flip (struct lexer *lexer, struct dataset *ds)
{
- struct dictionary *dict = dataset_dict (ds);
+ struct dictionary *old_dict = dataset_dict (ds);
+ struct dictionary *new_dict = NULL;
const struct variable **vars;
struct flip_pgm *flip;
struct casereader *input, *reader;
flip->file = NULL;
flip->cases_read = 0;
flip->error = false;
- flip->dict = dict;
lex_match (lexer, T_SLASH);
if (lex_match_id (lexer, "VARIABLES"))
{
lex_match (lexer, T_EQUALS);
- if (!parse_variables_const (lexer, dict, &vars, &flip->n_vars,
+ if (!parse_variables_const (lexer, old_dict, &vars, &flip->n_vars,
PV_NO_DUPLICATE))
goto error;
lex_match (lexer, T_SLASH);
}
else
- dict_get_vars (dict, &vars, &flip->n_vars, DC_SYSTEM);
+ dict_get_vars (old_dict, &vars, &flip->n_vars, DC_SYSTEM);
pool_register (flip->pool, free, vars);
lex_match (lexer, T_SLASH);
if (lex_match_id (lexer, "NEWNAMES"))
{
lex_match (lexer, T_EQUALS);
- flip->new_names_var = parse_variable (lexer, dict);
+ flip->new_names_var = parse_variable (lexer, old_dict);
if (!flip->new_names_var)
goto error;
}
else
- flip->new_names_var = dict_lookup_var (dict, "CASE_LBL");
+ flip->new_names_var = dict_lookup_var (old_dict, "CASE_LBL");
if (flip->new_names_var)
{
/* Read the active dataset into a flip_sink. */
proc_discard_output (ds);
+ /* Save old dictionary. */
+ new_dict = dict_clone (old_dict);
+ flip->encoding = dict_get_encoding (new_dict);
+ dict_clear (new_dict);
+
input = proc_open (ds);
while ((c = casereader_read (input)) != NULL)
{
}
else
{
- name = data_out_pool (value, dict_get_encoding (flip->dict), var_get_write_format (flip->new_names_var),
- flip->pool);
+ name = data_out_pool (value, dict_get_encoding (old_dict),
+ var_get_write_format (flip->new_names_var),
+ flip->pool);
}
var_names_add (flip->pool, &flip->new_names, name);
}
}
/* Flip the dictionary. */
- dict_clear (dict);
- dict_create_var_assert (dict, "CASE_LBL", 8);
+ dict_create_var_assert (new_dict, "CASE_LBL", 8);
for (i = 0; i < flip->n_cases; i++)
if (flip->new_names.n_names)
- make_new_var (dict, flip->new_names.names[i]);
+ make_new_var (new_dict, flip->new_names.names[i]);
else
{
char s[3 + INT_STRLEN_BOUND (i) + 1];
sprintf (s, "VAR%03zu", i);
- dict_create_var_assert (dict, s, 0);
+ dict_create_var_assert (new_dict, s, 0);
}
/* Set up flipped data for reading. */
- reader = casereader_create_sequential (NULL, dict_get_proto (dict),
+ reader = casereader_create_sequential (NULL, dict_get_proto (new_dict),
flip->n_vars,
&flip_casereader_class, flip);
+ dataset_set_dict (ds, new_dict);
dataset_set_source (ds, reader);
return CMD_SUCCESS;
error:
+ dict_destroy (new_dict);
destroy_flip_pgm (flip);
return CMD_CASCADING_FAILURE;
}
flip_casereader_read (struct casereader *reader, void *flip_)
{
struct flip_pgm *flip = flip_;
- const char *encoding;
struct ccase *c;
size_t i;
return false;
c = case_create (casereader_get_proto (reader));
- encoding = dict_get_encoding (flip->dict);
- data_in (ss_cstr (flip->old_names.names[flip->cases_read]), encoding,
- FMT_A, case_data_rw_idx (c, 0), 8, encoding);
+ data_in (ss_cstr (flip->old_names.names[flip->cases_read]), flip->encoding,
+ FMT_A, case_data_rw_idx (c, 0), 8, flip->encoding);
for (i = 0; i < flip->n_cases; i++)
{
const_var_set_destroy (factors);
free (glm.factor_vars);
+ for (i = 0 ; i < glm.n_interactions; ++i)
+ interaction_destroy (glm.interactions[i]);
+
free (glm.interactions);
free (glm.dep_vars);
/* PSPP - a program for statistical analysis.
- Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+ Copyright (C) 2011, 2012, 2013 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
double *f = stat;
if (*f == SYSMIS)
- *f = x;
+ *f = x;
}
static double
table->ii = 0;
table->n_layers = 0;
table->layers = NULL;
+ table->interactions = NULL;
/* Dependent variable (s) */
if (!parse_variables_const_pool (lexer, cmd->pool, cmd->dict,
- &table->dep_vars, &table->n_dep_vars,
- PV_NO_DUPLICATE | PV_NUMERIC))
+ &table->dep_vars, &table->n_dep_vars,
+ PV_NO_DUPLICATE | PV_NUMERIC))
return false;
/* Factor variable (s) */
table->n_layers++;
table->layers =
pool_realloc (cmd->pool, table->layers,
- sizeof (*table->layers) * table->n_layers);
+ sizeof (*table->layers) * table->n_layers);
if (!parse_variables_const_pool
(lexer, cmd->pool, cmd->dict,
table->n_layers++;
table->layers =
pool_realloc (cmd->pool, table->layers,
- sizeof (*table->layers) * table->n_layers);
+ sizeof (*table->layers) * table->n_layers);
table->layers[table->n_layers - 1].factor_vars = NULL;
table->layers[table->n_layers - 1].n_factor_vars = 0;
if (lex_match_id (lexer, "MISSING"))
{
/*
- If no MISSING subcommand is specified, each combination of
- a dependent variable and categorical variables is handled
- separately.
- */
+ If no MISSING subcommand is specified, each combination of
+ a dependent variable and categorical variables is handled
+ separately.
+ */
lex_match (lexer, T_EQUALS);
if (lex_match_id (lexer, "INCLUDE"))
{
}
else if (lex_match_id (lexer, "DEPENDENT"))
/*
- Use the command "/MISSING=DEPENDENT" to
- include user-missing values for the categorical variables,
- while excluding them for the dependent variables.
+ Use the command "/MISSING=DEPENDENT" to
+ include user-missing values for the categorical variables,
+ while excluding them for the dependent variables.
- Cases are dropped only when user-missing values
- appear in dependent variables. User-missing
- values for categorical variables are treated according to
- their face value.
+ Cases are dropped only when user-missing values
+ appear in dependent variables. User-missing
+ values for categorical variables are treated according to
+ their face value.
- Cases are ALWAYS dropped when System Missing values appear
- in the categorical variables.
+ Cases are ALWAYS dropped when System Missing values appear
+ in the categorical variables.
*/
{
means.dep_exclude = MV_ANY;
int x;
means.cells =
pool_realloc (means.pool, means.cells,
- (means.n_cells += n_C) * sizeof (*means.cells));
+ (means.n_cells += n_C) * sizeof (*means.cells));
for (x = 0; x < n_C; ++x)
means.cells[means.n_cells - (n_C - 1 - x) - 1] = x;
{
means.cells =
pool_realloc (means.pool, means.cells,
- (means.n_cells += 3) * sizeof (*means.cells));
+ (means.n_cells += 3) * sizeof (*means.cells));
means.cells[means.n_cells - 2 - 1] = MEANS_MEAN;
means.cells[means.n_cells - 1 - 1] = MEANS_N;
{
means.cells =
pool_realloc (means.pool, means.cells,
- ++means.n_cells * sizeof (*means.cells));
+ ++means.n_cells * sizeof (*means.cells));
means.cells[means.n_cells - 1] = k;
break;
for (t = 0; t < means.n_tables; ++t)
- {
- struct mtable *table = &means.table[t];
+ {
+ struct mtable *table = &means.table[t];
- table->interactions =
- pool_calloc (means.pool, table->n_layers, sizeof (*table->interactions));
+ table->interactions =
+ pool_calloc (means.pool, table->n_layers, sizeof (*table->interactions));
- table->summary =
- pool_calloc (means.pool, table->n_dep_vars * table->n_layers, sizeof (*table->summary));
+ table->summary =
+ pool_calloc (means.pool, table->n_dep_vars * table->n_layers, sizeof (*table->summary));
- for (l = 0; l < table->n_layers; ++l)
- {
- int v;
- const struct layer *lyr = &table->layers[l];
- const int n_vars = lyr->n_factor_vars;
- table->interactions[l] = interaction_create (NULL);
- for (v = 0 ; v < n_vars ; ++v)
- {
- interaction_add_variable (table->interactions[l],
- lyr->factor_vars[v]);
- }
- }
- }
+ for (l = 0; l < table->n_layers; ++l)
+ {
+ int v;
+ const struct layer *lyr = &table->layers[l];
+ const int n_vars = lyr->n_factor_vars;
+ table->interactions[l] = interaction_create (NULL);
+ for (v = 0; v < n_vars ; ++v)
+ {
+ interaction_add_variable (table->interactions[l],
+ lyr->factor_vars[v]);
+ }
+ }
+ }
{
struct casegrouper *grouper;
ok = proc_commit (ds) && ok;
}
+ for (t = 0; t < means.n_tables; ++t)
+ {
+ int l;
+ struct mtable *table = &means.table[t];
+ if (table->interactions)
+ for (l = 0; l < table->n_layers; ++l)
+ {
+ interaction_destroy (table->interactions[l]);
+ }
+ }
pool_destroy (means.pool);
return CMD_SUCCESS;
-error:
+ error:
+ for (t = 0; t < means.n_tables; ++t)
+ {
+ int l;
+ struct mtable *table = &means.table[t];
+ if (table->interactions)
+ for (l = 0; l < table->n_layers; ++l)
+ {
+ interaction_destroy (table->interactions[l]);
+ }
+ }
+
pool_destroy (means.pool);
return CMD_FAILURE;
}
payload.destroy = destroy_n;
for (t = 0; t < cmd->n_tables; ++t)
- {
- struct mtable *table = &cmd->table[t];
- table->cats
- = categoricals_create (table->interactions,
- table->n_layers, wv, cmd->dep_exclude, cmd->exclude);
+ {
+ struct mtable *table = &cmd->table[t];
+ table->cats
+ = categoricals_create (table->interactions,
+ table->n_layers, wv, cmd->dep_exclude, cmd->exclude);
- categoricals_set_payload (table->cats, &payload, cmd, table);
- }
+ categoricals_set_payload (table->cats, &payload, cmd, table);
+ }
for (reader = input;
(c = casereader_read (reader)) != NULL; case_unref (c))
/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2007, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2007, 2009, 2010, 2011, 2012, 2013 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
tab_vline (t, TAL_2, heading_cols, 0, n_rows - 1);
- tab_title (t, _("Multiple Comparisons"));
+ tab_title (t, _("Multiple Comparisons (%s)"), var_to_string (cmd->vars[v]));
tab_text_format (t, 1, 1, TAB_LEFT | TAT_TITLE, _("(I) %s"), var_to_string (cmd->indep_var));
tab_text_format (t, 2, 1, TAB_LEFT | TAT_TITLE, _("(J) %s"), var_to_string (cmd->indep_var));
return CMD_SUCCESS;
error:
+ if (regression.models)
+ {
for (k = 0; k < regression.n_dep_vars; k++)
linreg_unref (regression.models[k]);
free (regression.models);
+ }
free (regression.vars);
free (regression.dep_vars);
return CMD_FAILURE;
{
int x;
free (rel->sc[j].items);
- moments1_destroy (rel->sc[j].total);
- for (x = 0; x < rel->sc[j].n_items; ++x)
- free (rel->sc[j].m[x]);
+ moments1_destroy (rel->sc[j].total);
+ if (rel->sc[j].m)
+ for (x = 0; x < rel->sc[j].n_items; ++x)
+ free (rel->sc[j].m[x]);
free (rel->sc[j].m);
}
struct casereader *group;
struct casegrouper *grouper = casegrouper_create_splits (proc_open (ds), dict);
+ int si;
+
+ for (si = 0 ; si < reliability->n_sc; ++si)
+ {
+ struct cronbach *s = &reliability->sc[si];
+ int i;
+
+ s->m = xzalloc (sizeof *s->m * s->n_items);
+ s->total = moments1_create (MOMENT_VARIANCE);
+
+ for (i = 0 ; i < s->n_items ; ++i )
+ s->m[i] = moments1_create (MOMENT_VARIANCE);
+ }
+
while (casegrouper_get_next_group (grouper, &group))
{
{
struct cronbach *s = &rel->sc[si];
- s->m = xzalloc (sizeof (s->m) * s->n_items);
- s->total = moments1_create (MOMENT_VARIANCE);
+ moments1_clear (s->total);
for (i = 0 ; i < s->n_items ; ++i )
- s->m[i] = moments1_create (MOMENT_VARIANCE);
+ moments1_clear (s->m[i]);
}
input = casereader_create_filter_missing (input,
const struct variable *state_var;
union value state_value;
+ size_t state_var_width;
/* Plot the roc curve */
bool curve;
roc.neg = roc.neg_weighted = 0;
roc.dict = dataset_dict (ds);
roc.state_var = NULL;
+ roc.state_var_width = -1;
lex_match (lexer, T_SLASH);
if (!parse_variables_const (lexer, dict, &roc.vars, &roc.n_vars,
goto error;
}
- value_init (&roc.state_value, var_get_width (roc.state_var));
+ roc.state_var_width = var_get_width (roc.state_var);
+ value_init (&roc.state_value, roc.state_var_width);
parse_value (lexer, &roc.state_value, roc.state_var);
goto error;
}
-
while (lex_token (lexer) != T_ENDCMD)
{
lex_match (lexer, T_SLASH);
if ( ! run_roc (ds, &roc))
goto error;
- value_destroy (&roc.state_value, var_get_width (roc.state_var));
+ if ( roc.state_var)
+ value_destroy (&roc.state_value, roc.state_var_width);
free (roc.vars);
return CMD_SUCCESS;
error:
if ( roc.state_var)
- value_destroy (&roc.state_value, var_get_width (roc.state_var));
+ value_destroy (&roc.state_value, roc.state_var_width);
free (roc.vars);
return CMD_FAILURE;
}
/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2006, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2006, 2009, 2010, 2011, 2012, 2013 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
return xasprintf ("%d", settings_get_viewwidth ());
}
+static char *
+show_workspace (const struct dataset *ds UNUSED)
+{
+ size_t ws = settings_get_workspace () / 1024L;
+ return xasprintf ("%zu", ws);
+}
+
static char *
show_current_directory (const struct dataset *ds UNUSED)
{
{"WIB", show_wib},
{"WRB", show_wrb},
{"WIDTH", show_width},
+ {"WORKSPACE", show_workspace},
};
static void
static void set_map_out_str (struct map_out *, struct pool *,
struct substring);
-static void enlarge_dst_widths (struct recode_trns *);
+static bool enlarge_dst_widths (struct recode_trns *);
static void create_dst_vars (struct recode_trns *, struct dictionary *);
static trns_proc_func recode_trns_proc;
/* Ensure that all the output strings are at least as wide
as the widest destination variable. */
if (trns->dst_type == VAL_STRING)
- enlarge_dst_widths (trns);
+ {
+ if ( ! enlarge_dst_widths (trns))
+ {
+ return CMD_FAILURE;
+ }
+ }
/* Create destination variables, if needed.
This must be the final step; otherwise we'd have to
/* Ensures that all the output values in TRNS are as wide as the
widest destination variable. */
-static void
+static bool
enlarge_dst_widths (struct recode_trns *trns)
{
size_t i;
-
+ const struct variable *narrow_var = NULL;
+ int min_dst_width = INT_MAX;
trns->max_dst_width = 0;
+
for (i = 0; i < trns->var_cnt; i++)
{
const struct variable *v = trns->dst_vars[i];
if (var_get_width (v) > trns->max_dst_width)
trns->max_dst_width = var_get_width (v);
+
+ if (var_get_width (v) < min_dst_width)
+ {
+ min_dst_width = var_get_width (v);
+ narrow_var = v;
+ }
}
for (i = 0; i < trns->map_cnt; i++)
{
struct map_out *out = &trns->mappings[i].out;
if (!out->copy_input)
- value_resize_pool (trns->pool, &out->value,
- out->width, trns->max_dst_width);
+ {
+ if (out->width > min_dst_width)
+ {
+ msg (ME,
+ _("Cannot recode because the variable %s would require a width of %d bytes or greater, but it has a width of only %d bytes."),
+ var_get_name (narrow_var), out->width, min_dst_width);
+ return false;
+ }
+
+ value_resize_pool (trns->pool, &out->value,
+ out->width, trns->max_dst_width);
+ }
}
+
+ return true;
}
/* Creates destination variables that don't already exist. */
/* PSPP - a program for statistical analysis.
- Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+ Copyright (C) 2011, 2012, 2013 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
return true;
}
+static bool
+is_utf8_bom (const uint8_t *data, size_t n)
+{
+ return n >= 3 && data[0] == 0xef && data[1] == 0xbb && data[2] == 0xbf;
+}
+
+static bool
+is_utf16le_bom (const uint8_t *data, size_t n)
+{
+ return (n >= ENCODING_GUESS_MIN || n % 2 == 0) && get_le16 (data) == 0xfeff;
+}
+
+static bool
+is_utf16be_bom (const uint8_t *data, size_t n)
+{
+ return (n >= ENCODING_GUESS_MIN || n % 2 == 0) && get_be16 (data) == 0xfeff;
+}
+
+static bool
+is_utf32le_bom (const uint8_t *data, size_t n)
+{
+ return (n >= ENCODING_GUESS_MIN || n % 4 == 0) && get_le32 (data) == 0xfeff;
+}
+
+static bool
+is_utf32be_bom (const uint8_t *data, size_t n)
+{
+ return (n >= ENCODING_GUESS_MIN || n % 4 == 0) && get_be32 (data) == 0xfeff;
+}
+
/* Attempts to guess the encoding of a text file based on ENCODING, an encoding
name in one of the forms described at the top of encoding-guesser.h, and
DATA, which contains the first N bytes of the file. Returns the guessed
if (n == 0)
return fallback_encoding;
- if ((n >= ENCODING_GUESS_MIN || n % 4 == 0)
- && (get_be32 (data) == 0xfeff || get_le32 (data) == 0xfeff))
+ if (is_utf32be_bom (data, n) || is_utf32le_bom (data, n))
return "UTF-32";
if (n >= 4)
return "UTF-EBCDIC";
}
- if ((n >= ENCODING_GUESS_MIN || n % 2 == 0)
- && (get_be16 (data) == 0xfeff || get_le16 (data) == 0xfeff))
+ if (is_utf16be_bom (data, n) || is_utf16le_bom (data, n))
return "UTF-16";
- if (n >= 3 && data[0] == 0xef && data[1] == 0xbb && data[2] == 0xbf)
+ if (is_utf8_bom (data, n))
return "UTF-8";
guess = guess_utf16 (data, n);
return "ASCII";
}
+static bool
+is_encoding_utf16 (const char *encoding)
+{
+ return (!c_strcasecmp (encoding, "utf-16")
+ || !c_strcasecmp (encoding, "utf16"));
+}
+
+static bool
+is_encoding_utf32 (const char *encoding)
+{
+ return (!c_strcasecmp (encoding, "utf-32")
+ || !c_strcasecmp (encoding, "utf32"));
+}
+
+/* If ENCODING is the name of an encoding that could begin with a byte-order
+ mark, and in fact the N bytes in DATA do begin with a byte-order mark,
+ returns the number of bytes in the byte-order mark. Otherwise, returns 0.
+
+ N must be at least ENCODING_GUESS_MIN, unless the file is shorter than
+ that. */
+size_t
+encoding_guess_bom_length (const char *encoding,
+ const void *data_, size_t n)
+{
+ const uint8_t *data = data_;
+
+ return (is_utf8_bom (data, n) && is_encoding_utf8 (encoding) ? 3
+ : is_utf16le_bom (data, n) && is_encoding_utf16 (encoding) ? 2
+ : is_utf16be_bom (data, n) && is_encoding_utf16 (encoding) ? 2
+ : is_utf32le_bom (data, n) && is_encoding_utf32 (encoding) ? 4
+ : is_utf32be_bom (data, n) && is_encoding_utf32 (encoding) ? 4
+ : 0);
+}
+
/* Returns an encoding guess based on ENCODING and the N bytes of text starting
at DATA. DATA should start with the first non-ASCII text character (as
determined by encoding_guess_is_ascii_text()) found in the input.
/* PSPP - a program for statistical analysis.
- Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+ Copyright (C) 2011, 2012, 2013 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
/* Making an initial coding guess based on the start of a file. */
const char *encoding_guess_head_encoding (const char *encoding,
const void *, size_t);
+size_t encoding_guess_bom_length (const char *encoding,
+ const void *, size_t n);
/* Refining an initial ASCII coding guess using later non-ASCII bytes. */
static inline bool encoding_guess_is_ascii_text (uint8_t c);
/* PSPP - a program for statistical analysis.
- Copyright (C) 2010, 2011, 2012 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2011, 2012, 2013 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
encoding = encoding_guess_head_encoding (fromcode, is->buffer, is->length);
if (is_encoding_utf8 (encoding))
- is->state = S_UTF8;
+ {
+ unsigned int bom_len;
+
+ is->state = S_UTF8;
+ bom_len = encoding_guess_bom_length (encoding, is->buffer, is->length);
+ is->head += bom_len;
+ is->length -= bom_len;
+ }
else
{
if (encoding_guess_encoding_is_auto (fromcode)
&& !strcmp (encoding, "ASCII"))
- is->state = S_AUTO;
+ {
+ is->state = S_AUTO;
+ encoding = encoding_guess_parse_encoding (fromcode);
+ }
else
is->state = S_CONVERT;
- is->converter = iconv_open ("UTF-8",
- encoding_guess_parse_encoding (fromcode));
+ is->converter = iconv_open ("UTF-8", encoding);
if (is->converter == (iconv_t) -1)
goto error;
}
if (vn->var == var)
break;
- fprintf (stderr, "Warning: Hash table collision\n");
+ fprintf (stderr, "%s:%d Warning: Hash table collision\n", __FILE__, __LINE__);
}
return vn;
/* A map of cases indexed by a interaction_value */
struct hmap ivmap;
- struct interaction *iact;
+ const struct interaction *iact;
int base_subscript_short;
int base_subscript_long;
int i;
if (NULL == cat)
return;
+
for (i = 0; i < cat->n_iap; ++i)
{
struct interaction_value *iv = NULL;
free (cat->iap[i].enc_sum);
free (cat->iap[i].df_prod);
hmap_destroy (&cat->iap[i].ivmap);
- interaction_destroy (cat->iap[i].iact);
}
/* Interate over each variable and delete its value map */
union value ;
-struct categoricals *categoricals_create (struct interaction *const *, size_t n_int,
+struct categoricals *categoricals_create (struct interaction *const*, size_t n_int,
const struct variable *wv, enum mv_class dep_excl,
enum mv_class fctr_excl);
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-#ifndef __NEW_HISTOGRAM_H__
-#define __NEW_HISTOGRAM_H__
+#ifndef __HISTOGRAM_H__
+#define __HISTOGRAM_H__
#include <stddef.h>
/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2007, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2007, 2009, 2010, 2011, 2012, 2013 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
0x2564, 0x256a, 0x256c,
0x2564, 0x256a, 0x256c,
0x2554, 0x2560, 0x2560,
+ 0x2560, 0x256c, 0x256c,
0x2566, 0x256c, 0x256c,
};
static inline int
make_box_index (int left, int right, int top, int bottom)
{
- return ((right * 3 + bottom) * 3 + left) * 3 + top;
+ return ((right * RENDER_N_LINES + bottom) * RENDER_N_LINES + left) * RENDER_N_LINES + top;
}
/* How to emphasize text. */
size_t last_break_ofs = 0;
int last_break_width = 0;
int width = 0;
+ size_t graph_ofs;
size_t ofs;
for (ofs = 0; ofs < n; )
}
ofs += mblen;
}
- if (b[ofs] != UC_BREAK_MANDATORY)
- {
- while (ofs > 0 && isspace (line[ofs - 1]))
- {
- ofs--;
- width--;
- }
- }
- if (width > *widthp)
- *widthp = width;
+
+ /* Trim any trailing spaces off the end of the text to be drawn. */
+ for (graph_ofs = ofs; graph_ofs > 0; graph_ofs--)
+ if (!isspace (line[graph_ofs - 1]))
+ break;
+ width -= ofs - graph_ofs;
/* Draw text. */
- text_draw (a, cell->options, bb, clip, y, line, ofs, width);
+ text_draw (a, cell->options, bb, clip, y, line, graph_ofs, width);
- /* Next line. */
- pos += ofs;
- if (ofs < n && isspace (line[ofs]))
- pos++;
+ /* If a new-line ended the line, just skip the new-line. Otherwise, skip
+ past any spaces past the end of the line (but not past a new-line). */
+ if (b[ofs] == UC_BREAK_MANDATORY)
+ ofs++;
+ else
+ while (ofs < n && isspace (line[ofs]) && b[ofs] != UC_BREAK_MANDATORY)
+ ofs++;
+ if (width > *widthp)
+ *widthp = width;
+ pos += ofs;
}
*heightp = y - bb[V][0];
src/ui/gui/select-cases-dialog.h \
src/ui/gui/split-file-dialog.c \
src/ui/gui/split-file-dialog.h \
+ src/ui/gui/page-assistant.c \
+ src/ui/gui/page-intro.c \
+ src/ui/gui/page-intro.h \
+ src/ui/gui/page-file.c \
+ src/ui/gui/page-first-line.c \
+ src/ui/gui/page-first-line.h \
+ src/ui/gui/page-formats.c \
+ src/ui/gui/page-formats.h \
+ src/ui/gui/page-separators.c \
+ src/ui/gui/page-separators.h \
src/ui/gui/text-data-import-dialog.c \
src/ui/gui/text-data-import-dialog.h \
src/ui/gui/transpose-dialog.c \
</object>
</child>
<child>
- <object class="GtkAction" id="file_import-text">
- <property name="name">file_import-text</property>
- <property name="label" translatable="yes">_Import Delimited Text Data...</property>
+ <object class="GtkAction" id="file_import">
+ <property name="name">file_import</property>
+ <property name="label" translatable="yes">I_mport Data...</property>
<property name="stock-id">gtk-convert</property>
</object>
</child>
<menuitem action="file_new_data"/>
</menu>
<menuitem action="file_open"/>
- <menuitem action="file_import-text"/>
+ <menuitem action="file_import"/>
<separator/>
<menuitem action="file_save"/>
<menuitem action="file_save_as"/>
--- /dev/null
+/* PSPPIRE - a graphical user interface for PSPP.
+ Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include "ui/gui/text-data-import-dialog.h"
+
+#include <errno.h>
+#include <fcntl.h>
+#include <gtk/gtk.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <sys/stat.h>
+
+#include "data/data-in.h"
+#include "data/data-out.h"
+#include "data/format-guesser.h"
+#include "data/value-labels.h"
+#include "language/data-io/data-parser.h"
+#include "language/lexer/lexer.h"
+#include "libpspp/assertion.h"
+#include "libpspp/i18n.h"
+#include "libpspp/line-reader.h"
+#include "libpspp/message.h"
+#include "ui/gui/checkbox-treeview.h"
+#include "ui/gui/dialog-common.h"
+#include "ui/gui/executor.h"
+#include "ui/gui/helper.h"
+#include "ui/gui/builder-wrapper.h"
+#include "ui/gui/psppire-data-window.h"
+#include "ui/gui/psppire-dialog.h"
+#include "ui/gui/psppire-encoding-selector.h"
+#include "ui/gui/psppire-empty-list-store.h"
+#include "ui/gui/psppire-var-sheet.h"
+
+#include "gl/error.h"
+#include "gl/intprops.h"
+#include "gl/xalloc.h"
+
+#include "gettext.h"
+#define _(msgid) gettext (msgid)
+#define N_(msgid) msgid
+
+/* Assistant. */
+
+static void close_assistant (struct import_assistant *, int response);
+static void on_prepare (GtkAssistant *assistant, GtkWidget *page,
+ struct import_assistant *);
+static void on_cancel (GtkAssistant *assistant, struct import_assistant *);
+static void on_close (GtkAssistant *assistant, struct import_assistant *);
+static void on_paste (GtkButton *button, struct import_assistant *);
+static void on_reset (GtkButton *button, struct import_assistant *);
+
+/* Initializes IA's asst substructure. PARENT_WINDOW must be the
+ window to use as the assistant window's parent. */
+struct import_assistant *
+init_assistant (GtkWindow *parent_window)
+{
+ struct import_assistant *ia = xzalloc (sizeof *ia);
+ struct assistant *a = &ia->asst;
+
+ a->builder = builder_new ("text-data-import.ui");
+ a->assistant = GTK_ASSISTANT (gtk_assistant_new ());
+
+ a->prop_renderer = gtk_cell_renderer_text_new ();
+ g_object_ref_sink (a->prop_renderer);
+ a->fixed_renderer = gtk_cell_renderer_text_new ();
+ g_object_ref_sink (a->fixed_renderer);
+ g_object_set (G_OBJECT (a->fixed_renderer),
+ "family", "Monospace",
+ (void *) NULL);
+
+ g_signal_connect (a->assistant, "prepare", G_CALLBACK (on_prepare), ia);
+ g_signal_connect (a->assistant, "cancel", G_CALLBACK (on_cancel), ia);
+ g_signal_connect (a->assistant, "close", G_CALLBACK (on_close), ia);
+ a->paste_button = gtk_button_new_from_stock (GTK_STOCK_PASTE);
+ gtk_assistant_add_action_widget (a->assistant, a->paste_button);
+ g_signal_connect (a->paste_button, "clicked", G_CALLBACK (on_paste), ia);
+ a->reset_button = gtk_button_new_from_stock ("pspp-stock-reset");
+ gtk_assistant_add_action_widget (a->assistant, a->reset_button);
+ g_signal_connect (a->reset_button, "clicked", G_CALLBACK (on_reset), ia);
+ gtk_window_set_title (GTK_WINDOW (a->assistant),
+ _("Importing Delimited Text Data"));
+ gtk_window_set_transient_for (GTK_WINDOW (a->assistant), parent_window);
+ gtk_window_set_icon_name (GTK_WINDOW (a->assistant), "pspp");
+
+
+ return ia;
+}
+
+/* Frees IA's asst substructure. */
+void
+destroy_assistant (struct import_assistant *ia)
+{
+ struct assistant *a = &ia->asst;
+
+ g_object_unref (a->prop_renderer);
+ g_object_unref (a->fixed_renderer);
+ g_object_unref (a->builder);
+}
+
+/* Appends a page of the given TYPE, with PAGE as its content, to
+ the GtkAssistant encapsulated by IA. Returns the GtkWidget
+ that represents the page. */
+GtkWidget *
+add_page_to_assistant (struct import_assistant *ia,
+ GtkWidget *page, GtkAssistantPageType type)
+{
+ const char *title;
+ char *title_copy;
+ GtkWidget *content;
+
+ title = gtk_window_get_title (GTK_WINDOW (page));
+ title_copy = xstrdup (title ? title : "");
+
+ content = gtk_bin_get_child (GTK_BIN (page));
+ assert (content);
+ g_object_ref (content);
+ gtk_container_remove (GTK_CONTAINER (page), content);
+
+ gtk_widget_destroy (page);
+
+ gtk_assistant_append_page (ia->asst.assistant, content);
+ gtk_assistant_set_page_type (ia->asst.assistant, content, type);
+ gtk_assistant_set_page_title (ia->asst.assistant, content, title_copy);
+ gtk_assistant_set_page_complete (ia->asst.assistant, content, true);
+
+ free (title_copy);
+
+ return content;
+}
+
+/* Called just before PAGE is displayed as the current page of
+ ASSISTANT, this updates IA content according to the new
+ page. */
+static void
+on_prepare (GtkAssistant *assistant, GtkWidget *page,
+ struct import_assistant *ia)
+{
+ int pn = gtk_assistant_get_current_page (assistant);
+
+ gtk_widget_show (ia->asst.reset_button);
+ gtk_widget_hide (ia->asst.paste_button);
+
+ if ( ia->spreadsheet)
+ {
+ if (pn == 0)
+ {
+ }
+ else if (pn == 1)
+ {
+ prepare_formats_page (ia);
+ }
+ }
+ else
+ {
+ if (pn == 0)
+ prepare_separators_page (ia);
+ else if (pn == 3)
+ prepare_formats_page (ia);
+ }
+
+
+ if (gtk_assistant_get_page_type (assistant, page)
+ == GTK_ASSISTANT_PAGE_CONFIRM)
+ gtk_widget_grab_focus (assistant->apply);
+ else
+ gtk_widget_grab_focus (assistant->forward);
+}
+
+/* Called when the Cancel button in the assistant is clicked. */
+static void
+on_cancel (GtkAssistant *assistant, struct import_assistant *ia)
+{
+ close_assistant (ia, GTK_RESPONSE_CANCEL);
+}
+
+/* Called when the Apply button on the last page of the assistant
+ is clicked. */
+static void
+on_close (GtkAssistant *assistant, struct import_assistant *ia)
+{
+ close_assistant (ia, GTK_RESPONSE_APPLY);
+}
+
+/* Called when the Paste button on the last page of the assistant
+ is clicked. */
+static void
+on_paste (GtkButton *button, struct import_assistant *ia)
+{
+ close_assistant (ia, PSPPIRE_RESPONSE_PASTE);
+}
+
+static GtkWidget *
+assist_get_page (struct assist_page *ap)
+{
+ if (ap == NULL)
+ return NULL;
+
+ return ap->page;
+}
+
+/* Called when the Reset button is clicked. */
+static void
+on_reset (GtkButton *button, struct import_assistant *ia)
+{
+ gint page_num = gtk_assistant_get_current_page (ia->asst.assistant);
+ GtkWidget *page = gtk_assistant_get_nth_page (ia->asst.assistant, page_num);
+
+ if (page == assist_get_page ((struct assist_page *) ia->intro))
+ reset_intro_page (ia);
+ else if (page == assist_get_page ((struct assist_page *) ia->first_line))
+ reset_first_line_page (ia);
+ else if (page == assist_get_page ((struct assist_page *) ia->separators))
+ reset_separators_page (ia);
+ else if (page == assist_get_page ((struct assist_page *) ia->formats))
+ reset_formats_page (ia);
+}
+
+/* Causes the assistant to close, returning RESPONSE for
+ interpretation by text_data_import_assistant. */
+static void
+close_assistant (struct import_assistant *ia, int response)
+{
+ ia->asst.response = response;
+ /* Use our loop_done variable until we find out
+ why g_main_loop_quit (ia->asst.main_loop); doesn't work.
+ */
+ ia->asst.loop_done = true;
+ gtk_widget_hide (GTK_WIDGET (ia->asst.assistant));
+}
+
--- /dev/null
+/* PSPPIRE - a graphical user interface for PSPP.
+ Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include "ui/gui/text-data-import-dialog.h"
+
+#include <errno.h>
+#include <fcntl.h>
+#include <gtk/gtk.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <sys/stat.h>
+
+#include "data/data-in.h"
+#include "data/data-out.h"
+#include "data/format-guesser.h"
+#include "data/casereader.h"
+#include "data/gnumeric-reader.h"
+#include "data/ods-reader.h"
+#include "data/spreadsheet-reader.h"
+#include "data/value-labels.h"
+#include "language/data-io/data-parser.h"
+#include "language/lexer/lexer.h"
+#include "libpspp/assertion.h"
+#include "libpspp/i18n.h"
+#include "libpspp/line-reader.h"
+#include "libpspp/message.h"
+#include "ui/gui/checkbox-treeview.h"
+#include "ui/gui/dialog-common.h"
+#include "ui/gui/executor.h"
+#include "ui/gui/helper.h"
+#include "ui/gui/builder-wrapper.h"
+#include "ui/gui/psppire-data-window.h"
+#include "ui/gui/psppire-dialog.h"
+#include "ui/gui/psppire-encoding-selector.h"
+#include "ui/gui/psppire-empty-list-store.h"
+#include "ui/gui/psppire-var-sheet.h"
+#include "ui/gui/psppire-scanf.h"
+#include "ui/syntax-gen.h"
+
+#include "gl/error.h"
+#include "gl/intprops.h"
+#include "gl/xalloc.h"
+
+#include "gettext.h"
+#define _(msgid) gettext (msgid)
+#define N_(msgid) msgid
+
+struct import_assistant;
+
+/* Choose a file */
+static char *choose_file (GtkWindow *parent_window, gchar **encodingp);
+
+
+
+
+/* Obtains the file to import from the user and initializes IA's
+ file substructure. PARENT_WINDOW must be the window to use
+ as the file chooser window's parent.
+
+ Returns true if successful, false if the file name could not
+ be obtained or the file could not be read. */
+bool
+init_file (struct import_assistant *ia, GtkWindow *parent_window)
+{
+ enum { MAX_LINE_LEN = 16384 }; /* Max length of an acceptable line. */
+ struct file *file = &ia->file;
+
+ file->lines = NULL;
+ file->file_name = choose_file (parent_window, &file->encoding);
+ if (file->file_name == NULL)
+ return false;
+
+ if (ia->spreadsheet == NULL)
+ ia->spreadsheet = gnumeric_probe (file->file_name, false);
+
+ if (ia->spreadsheet == NULL)
+ ia->spreadsheet = ods_probe (file->file_name, false);
+
+ if (ia->spreadsheet == NULL)
+ {
+ struct string input;
+ struct line_reader *reader = line_reader_for_file (file->encoding, file->file_name, O_RDONLY);
+ if (reader == NULL)
+ {
+ msg (ME, _("Could not open `%s': %s"),
+ file->file_name, strerror (errno));
+ return false;
+ }
+
+ ds_init_empty (&input);
+ file->lines = xnmalloc (MAX_PREVIEW_LINES, sizeof *file->lines);
+ for (; file->line_cnt < MAX_PREVIEW_LINES; file->line_cnt++)
+ {
+ ds_clear (&input);
+ if (!line_reader_read (reader, &input, MAX_LINE_LEN + 1)
+ || ds_length (&input) > MAX_LINE_LEN)
+ {
+ if (line_reader_eof (reader))
+ break;
+ else if (line_reader_error (reader))
+ msg (ME, _("Error reading `%s': %s"),
+ file->file_name, strerror (line_reader_error (reader)));
+ else
+ msg (ME, _("Failed to read `%s', because it contains a line "
+ "over %d bytes long and therefore appears not to be "
+ "a text file."),
+ file->file_name, MAX_LINE_LEN);
+ line_reader_close (reader);
+ destroy_file (ia);
+ ds_destroy (&input);
+ return false;
+ }
+
+ ds_init_cstr (&file->lines[file->line_cnt],
+ recode_string ("UTF-8", line_reader_get_encoding (reader),
+ ds_cstr (&input), ds_length (&input)));
+ }
+ ds_destroy (&input);
+
+ if (file->line_cnt == 0)
+ {
+ msg (ME, _("`%s' is empty."), file->file_name);
+ line_reader_close (reader);
+ destroy_file (ia);
+ return false;
+ }
+
+ /* Estimate the number of lines in the file. */
+ if (file->line_cnt < MAX_PREVIEW_LINES)
+ file->total_lines = file->line_cnt;
+ else
+ {
+ struct stat s;
+ off_t position = line_reader_tell (reader);
+ if (fstat (line_reader_fileno (reader), &s) == 0 && position > 0)
+ file->total_lines = (double) file->line_cnt / position * s.st_size;
+ else
+ file->total_lines = 0;
+ }
+
+ line_reader_close (reader);
+ }
+
+ return true;
+}
+
+/* Frees IA's file substructure. */
+void
+destroy_file (struct import_assistant *ia)
+{
+ struct file *f = &ia->file;
+ size_t i;
+
+ if (f->lines)
+ {
+ for (i = 0; i < f->line_cnt; i++)
+ ds_destroy (&f->lines[i]);
+ free (f->lines);
+ }
+
+ g_free (f->file_name);
+ g_free (f->encoding);
+}
+
+/* Obtains the file to read from the user. If successful, returns the name of
+ the file and stores the user's chosen encoding for the file into *ENCODINGP.
+ The caller must free each of these strings with g_free().
+
+ On failure, stores a null pointer and stores NULL in *ENCODINGP.
+
+ PARENT_WINDOW must be the window to use as the file chooser window's
+ parent. */
+static char *
+choose_file (GtkWindow *parent_window, gchar **encodingp)
+{
+ char *file_name;
+ GtkFileFilter *filter = NULL;
+
+ GtkWidget *dialog = gtk_file_chooser_dialog_new (_("Import Delimited Text Data"),
+ parent_window,
+ GTK_FILE_CHOOSER_ACTION_OPEN,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
+ NULL);
+
+ g_object_set (dialog, "local-only", FALSE, NULL);
+
+ filter = gtk_file_filter_new ();
+ gtk_file_filter_set_name (filter, _("Text Files"));
+ gtk_file_filter_add_mime_type (filter, "text/*");
+ gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
+
+ filter = gtk_file_filter_new ();
+ gtk_file_filter_set_name (filter, _("Text (*.txt) Files"));
+ gtk_file_filter_add_pattern (filter, "*.txt");
+ gtk_file_filter_add_pattern (filter, "*.TXT");
+ gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
+
+ filter = gtk_file_filter_new ();
+ gtk_file_filter_set_name (filter, _("Plain Text (ASCII) Files"));
+ gtk_file_filter_add_mime_type (filter, "text/plain");
+ gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
+
+ filter = gtk_file_filter_new ();
+ gtk_file_filter_set_name (filter, _("Comma Separated Value Files"));
+ gtk_file_filter_add_mime_type (filter, "text/csv");
+ gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
+
+ /* I've never encountered one of these, but it's listed here:
+ http://www.iana.org/assignments/media-types/text/tab-separated-values */
+ filter = gtk_file_filter_new ();
+ gtk_file_filter_set_name (filter, _("Tab Separated Value Files"));
+ gtk_file_filter_add_mime_type (filter, "text/tab-separated-values");
+ gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
+
+
+ gtk_file_chooser_set_extra_widget (
+ GTK_FILE_CHOOSER (dialog), psppire_encoding_selector_new ("Auto", true));
+
+ filter = gtk_file_filter_new ();
+ gtk_file_filter_set_name (filter, _("All Files"));
+ gtk_file_filter_add_pattern (filter, "*");
+ gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
+
+ switch (gtk_dialog_run (GTK_DIALOG (dialog)))
+ {
+ case GTK_RESPONSE_ACCEPT:
+ file_name = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
+ *encodingp = psppire_encoding_selector_get_encoding (
+ gtk_file_chooser_get_extra_widget (GTK_FILE_CHOOSER (dialog)));
+ break;
+ default:
+ file_name = NULL;
+ *encodingp = NULL;
+ break;
+ }
+ gtk_widget_destroy (dialog);
+
+ return file_name;
+}
--- /dev/null
+/* PSPPIRE - a graphical user interface for PSPP.
+ Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include "page-first-line.h"
+
+#include "ui/gui/text-data-import-dialog.h"
+
+#include <errno.h>
+#include <fcntl.h>
+#include <gtk/gtk.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <sys/stat.h>
+
+#include "data/data-in.h"
+#include "data/data-out.h"
+#include "data/format-guesser.h"
+#include "data/value-labels.h"
+#include "language/data-io/data-parser.h"
+#include "language/lexer/lexer.h"
+#include "libpspp/assertion.h"
+#include "libpspp/i18n.h"
+#include "libpspp/line-reader.h"
+#include "libpspp/message.h"
+#include "ui/gui/checkbox-treeview.h"
+#include "ui/gui/dialog-common.h"
+#include "ui/gui/executor.h"
+#include "ui/gui/helper.h"
+#include "ui/gui/builder-wrapper.h"
+#include "ui/gui/pspp-sheet-selection.h"
+#include "ui/gui/pspp-sheet-view-column.h"
+#include "ui/gui/pspp-sheet-view.h"
+#include "ui/gui/psppire-data-window.h"
+#include "ui/gui/psppire-dialog.h"
+#include "ui/gui/psppire-encoding-selector.h"
+#include "ui/gui/psppire-empty-list-store.h"
+#include "ui/gui/psppire-var-sheet.h"
+#include "ui/gui/psppire-scanf.h"
+
+#include "gl/error.h"
+#include "gl/intprops.h"
+#include "gl/xalloc.h"
+
+#include "gettext.h"
+#define _(msgid) gettext (msgid)
+#define N_(msgid) msgid
+
+
+
+/* The "first line" page of the assistant. */
+
+/* Page where the user chooses the first line of data. */
+struct first_line_page
+ {
+ GtkWidget *page;
+ PsppSheetView *tree_view;
+ GtkWidget *variable_names_cb;
+ };
+
+static PsppSheetView *create_lines_tree_view (GtkContainer *parent_window,
+ struct import_assistant *);
+static void on_first_line_change (GtkTreeSelection *,
+ struct import_assistant *);
+static void on_variable_names_cb_toggle (GtkToggleButton *,
+ struct import_assistant *);
+static void set_first_line (struct import_assistant *);
+static void get_first_line (struct import_assistant *);
+
+/* Initializes IA's first_line substructure. */
+struct first_line_page *
+first_line_page_create (struct import_assistant *ia)
+{
+ struct first_line_page *p = xzalloc (sizeof *p);
+
+ GtkBuilder *builder = ia->asst.builder;
+
+ p->page = add_page_to_assistant (ia, get_widget_assert (builder, "FirstLine"),
+ GTK_ASSISTANT_PAGE_CONTENT);
+
+ gtk_widget_destroy (get_widget_assert (builder, "first-line"));
+ p->tree_view = create_lines_tree_view (
+ GTK_CONTAINER (get_widget_assert (builder, "first-line-scroller")), ia);
+ p->variable_names_cb = get_widget_assert (builder, "variable-names");
+ pspp_sheet_selection_set_mode (
+ pspp_sheet_view_get_selection (PSPP_SHEET_VIEW (p->tree_view)),
+ PSPP_SHEET_SELECTION_BROWSE);
+ pspp_sheet_view_set_rubber_banding (PSPP_SHEET_VIEW (p->tree_view), TRUE);
+ g_signal_connect (pspp_sheet_view_get_selection (PSPP_SHEET_VIEW (p->tree_view)),
+ "changed", G_CALLBACK (on_first_line_change), ia);
+ g_signal_connect (p->variable_names_cb, "toggled",
+ G_CALLBACK (on_variable_names_cb_toggle), ia);
+ return p;
+}
+
+/* Resets the first_line page to its initial content. */
+void
+reset_first_line_page (struct import_assistant *ia)
+{
+ ia->skip_lines = 0;
+ ia->variable_names = false;
+ set_first_line (ia);
+}
+
+static void
+render_line (PsppSheetViewColumn *tree_column,
+ GtkCellRenderer *cell,
+ GtkTreeModel *tree_model,
+ GtkTreeIter *iter,
+ gpointer data)
+{
+ gint row = empty_list_store_iter_to_row (iter);
+ struct string *lines;
+
+ lines = g_object_get_data (G_OBJECT (tree_model), "lines");
+ g_return_if_fail (lines != NULL);
+
+ g_object_set (cell, "text", ds_cstr (&lines[row]), NULL);
+}
+
+
+/* Creates and returns a tree view that contains each of the
+ lines in IA's file as a row. */
+static PsppSheetView *
+create_lines_tree_view (GtkContainer *parent, struct import_assistant *ia)
+{
+ PsppSheetView *tree_view = NULL;
+ PsppSheetViewColumn *column;
+ size_t max_line_length;
+ gint content_width, header_width;
+ size_t i;
+ const gchar *title = _("Text");
+
+ make_tree_view (ia, 0, &tree_view);
+
+ column = pspp_sheet_view_column_new_with_attributes (
+ title, ia->asst.fixed_renderer, (void *) NULL);
+ pspp_sheet_view_column_set_cell_data_func (column, ia->asst.fixed_renderer,
+ render_line, NULL, NULL);
+ pspp_sheet_view_column_set_resizable (column, TRUE);
+
+ max_line_length = 0;
+ for (i = 0; i < ia->file.line_cnt; i++)
+ {
+ size_t w = ds_length (&ia->file.lines[i]);
+ max_line_length = MAX (max_line_length, w);
+ }
+
+ content_width = get_monospace_width (tree_view, ia->asst.fixed_renderer,
+ max_line_length);
+ header_width = get_string_width (tree_view, ia->asst.prop_renderer, title);
+ pspp_sheet_view_column_set_fixed_width (column, MAX (content_width,
+ header_width));
+ pspp_sheet_view_append_column (tree_view, column);
+
+ gtk_container_add (parent, GTK_WIDGET (tree_view));
+ gtk_widget_show (GTK_WIDGET (tree_view));
+
+ return tree_view;
+}
+
+/* Called when the line selected in the first_line tree view
+ changes. */
+static void
+on_first_line_change (GtkTreeSelection *selection UNUSED,
+ struct import_assistant *ia)
+{
+ get_first_line (ia);
+}
+
+/* Called when the checkbox that indicates whether variable
+ names are in the row above the first line is toggled. */
+static void
+on_variable_names_cb_toggle (GtkToggleButton *variable_names_cb UNUSED,
+ struct import_assistant *ia)
+{
+ get_first_line (ia);
+}
+
+/* Sets the widgets to match IA's first_line substructure. */
+static void
+set_first_line (struct import_assistant *ia)
+{
+ GtkTreePath *path;
+
+ path = gtk_tree_path_new_from_indices (ia->skip_lines, -1);
+ pspp_sheet_view_set_cursor (PSPP_SHEET_VIEW (ia->first_line->tree_view),
+ path, NULL, false);
+ gtk_tree_path_free (path);
+
+ gtk_toggle_button_set_active (
+ GTK_TOGGLE_BUTTON (ia->first_line->variable_names_cb),
+ ia->variable_names);
+ gtk_widget_set_sensitive (ia->first_line->variable_names_cb,
+ ia->skip_lines > 0);
+}
+
+/* Sets IA's first_line substructure to match the widgets. */
+static void
+get_first_line (struct import_assistant *ia)
+{
+ PsppSheetSelection *selection;
+ GtkTreeIter iter;
+ GtkTreeModel *model;
+
+ selection = pspp_sheet_view_get_selection (ia->first_line->tree_view);
+ if (pspp_sheet_selection_get_selected (selection, &model, &iter))
+ {
+ GtkTreePath *path = gtk_tree_model_get_path (model, &iter);
+ int row = gtk_tree_path_get_indices (path)[0];
+ gtk_tree_path_free (path);
+
+ ia->skip_lines = row;
+ ia->variable_names =
+ (ia->skip_lines > 0
+ && gtk_toggle_button_get_active (
+ GTK_TOGGLE_BUTTON (ia->first_line->variable_names_cb)));
+ }
+ gtk_widget_set_sensitive (ia->first_line->variable_names_cb,
+ ia->skip_lines > 0);
+}
+
+
+
+void
+first_line_append_syntax (const struct import_assistant *ia, struct string *s)
+{
+ if (ia->skip_lines > 0)
+ ds_put_format (s, " /FIRSTCASE=%d\n", ia->skip_lines + 1);
+}
--- /dev/null
+/* PSPPIRE - a graphical user interface for PSPP.
+ Copyright (C) 2013 Free Software Foundation
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+
+#ifndef PAGE_FIRST_LINE_H
+#define PAGE_FIRST_LINE_H
+
+struct first_line_page ;
+struct import_assistant;
+struct string;
+
+struct first_line_page *first_line_page_create (struct import_assistant *ia);
+void first_line_append_syntax (const struct import_assistant *ia, struct string *s);
+
+#endif
--- /dev/null
+/* PSPPIRE - a graphical user interface for PSPP.
+ Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include "ui/gui/text-data-import-dialog.h"
+
+#include <errno.h>
+#include <fcntl.h>
+#include <gtk/gtk.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <sys/stat.h>
+
+#include "data/data-in.h"
+#include "data/data-out.h"
+#include "data/format-guesser.h"
+#include "data/value-labels.h"
+#include "language/data-io/data-parser.h"
+#include "language/lexer/lexer.h"
+#include "libpspp/assertion.h"
+#include "libpspp/i18n.h"
+#include "libpspp/line-reader.h"
+#include "libpspp/message.h"
+#include "ui/gui/checkbox-treeview.h"
+#include "ui/gui/dialog-common.h"
+#include "ui/gui/executor.h"
+#include "ui/gui/helper.h"
+#include "ui/gui/builder-wrapper.h"
+#include "ui/gui/psppire-data-window.h"
+#include "ui/gui/psppire-dialog.h"
+#include "ui/gui/psppire-encoding-selector.h"
+#include "ui/gui/psppire-empty-list-store.h"
+#include "ui/gui/psppire-var-sheet.h"
+#include "ui/gui/psppire-scanf.h"
+
+#include "gl/error.h"
+#include "gl/intprops.h"
+#include "gl/xalloc.h"
+
+#include "gettext.h"
+#define _(msgid) gettext (msgid)
+#define N_(msgid) msgid
+
+/* Page where the user verifies and adjusts input formats. */
+struct formats_page
+ {
+ GtkWidget *page;
+ PsppSheetView *data_tree_view;
+ PsppireDict *psppire_dict;
+ struct variable **modified_vars;
+ size_t modified_var_cnt;
+ };
+
+/* The "formats" page of the assistant. */
+
+static void on_variable_change (PsppireDict *dict, int idx,
+ struct import_assistant *);
+static void clear_modified_vars (struct import_assistant *);
+
+/* Initializes IA's formats substructure. */
+
+struct formats_page *
+formats_page_create (struct import_assistant *ia)
+{
+ GtkBuilder *builder = ia->asst.builder;
+ struct formats_page *p = xzalloc (sizeof *p);
+
+ p->page = add_page_to_assistant (ia, get_widget_assert (builder, "Formats"),
+ GTK_ASSISTANT_PAGE_CONFIRM);
+
+ p->data_tree_view = PSPP_SHEET_VIEW (get_widget_assert (builder, "data"));
+ p->modified_vars = NULL;
+ p->modified_var_cnt = 0;
+
+ return p;
+}
+
+/* Frees IA's formats substructure. */
+void
+destroy_formats_page (struct import_assistant *ia)
+{
+ struct formats_page *p = ia->formats;
+
+ if (p->psppire_dict != NULL)
+ {
+ dict_destroy (p->psppire_dict->dict);
+ g_object_unref (p->psppire_dict);
+ }
+ clear_modified_vars (ia);
+}
+
+/* Called just before the formats page of the assistant is
+ displayed. */
+void
+prepare_formats_page (struct import_assistant *ia)
+{
+ struct dictionary *dict;
+ PsppireDict *psppire_dict;
+ GtkBin *vars_scroller;
+ GtkWidget *old_var_sheet;
+ PsppireVarSheet *var_sheet;
+ struct formats_page *p = ia->formats;
+ struct fmt_guesser *fg;
+ unsigned long int number = 0;
+ size_t column_idx;
+
+ push_watch_cursor (ia);
+
+ dict = dict_create (get_default_encoding ());
+ fg = fmt_guesser_create ();
+ for (column_idx = 0; column_idx < ia->column_cnt; column_idx++)
+ {
+ struct variable *modified_var =
+ (column_idx < p->modified_var_cnt ? p->modified_vars[column_idx] : NULL);
+ if (modified_var == NULL)
+ {
+ struct column *column = &ia->columns[column_idx];
+ struct variable *var;
+ struct fmt_spec format;
+ char *name;
+ size_t row;
+
+ /* Choose variable name. */
+ name = dict_make_unique_var_name (dict, column->name, &number);
+
+ /* Choose variable format. */
+ fmt_guesser_clear (fg);
+ for (row = ia->skip_lines; row < ia->file.line_cnt; row++)
+ fmt_guesser_add (fg, column->contents[row]);
+ fmt_guesser_guess (fg, &format);
+ fmt_fix_input (&format);
+
+ /* Create variable. */
+ var = dict_create_var_assert (dict, name, fmt_var_width (&format));
+ var_set_both_formats (var, &format);
+
+ free (name);
+ }
+ else
+ {
+ char *name;
+
+ name = dict_make_unique_var_name (dict, var_get_name (modified_var),
+ &number);
+ dict_clone_var_as_assert (dict, modified_var, name);
+ free (name);
+ }
+ }
+ fmt_guesser_destroy (fg);
+
+ psppire_dict = psppire_dict_new_from_dict (dict);
+ g_signal_connect (psppire_dict, "variable_changed",
+ G_CALLBACK (on_variable_change), ia);
+ ia->dict = dict;
+ ia->formats->psppire_dict = psppire_dict;
+
+ /* XXX: PsppireVarStore doesn't hold a reference to
+ psppire_dict for now, but it should. After it does, we
+ should g_object_ref the psppire_dict here, since we also
+ hold a reference via ia->formats->dict. */
+ var_sheet = PSPPIRE_VAR_SHEET (psppire_var_sheet_new ());
+ g_object_set (var_sheet,
+ "dictionary", psppire_dict,
+ "may-create-vars", FALSE,
+ "may-delete-vars", FALSE,
+ "format-use", FMT_FOR_INPUT,
+ "enable-grid-lines", PSPP_SHEET_VIEW_GRID_LINES_BOTH,
+ (void *) NULL);
+
+ vars_scroller = GTK_BIN (get_widget_assert (ia->asst.builder, "vars-scroller"));
+ old_var_sheet = gtk_bin_get_child (vars_scroller);
+ if (old_var_sheet != NULL)
+ gtk_widget_destroy (old_var_sheet);
+ gtk_container_add (GTK_CONTAINER (vars_scroller), GTK_WIDGET (var_sheet));
+ gtk_widget_show (GTK_WIDGET (var_sheet));
+
+ gtk_widget_destroy (GTK_WIDGET (ia->formats->data_tree_view));
+ ia->formats->data_tree_view = create_data_tree_view (
+ false,
+ GTK_CONTAINER (get_widget_assert (ia->asst.builder, "data-scroller")),
+ ia);
+
+ gtk_widget_show (ia->asst.paste_button);
+
+ pop_watch_cursor (ia);
+}
+
+/* Clears the set of user-modified variables from IA's formats
+ substructure. This discards user modifications to variable
+ formats, thereby causing formats to revert to their
+ defaults. */
+static void
+clear_modified_vars (struct import_assistant *ia)
+{
+ struct formats_page *p = ia->formats;
+ size_t i;
+
+ for (i = 0; i < p->modified_var_cnt; i++)
+ var_destroy (p->modified_vars[i]);
+ free (p->modified_vars);
+ p->modified_vars = NULL;
+ p->modified_var_cnt = 0;
+}
+
+/* Resets the formats page to its defaults, discarding user
+ modifications. */
+void
+reset_formats_page (struct import_assistant *ia)
+{
+ clear_modified_vars (ia);
+ prepare_formats_page (ia);
+}
+
+
+
+/* Called when the user changes one of the variables in the
+ dictionary. */
+static void
+on_variable_change (PsppireDict *dict, int dict_idx,
+ struct import_assistant *ia)
+{
+ struct formats_page *p = ia->formats;
+ PsppSheetView *tv = ia->formats->data_tree_view;
+ gint column_idx = dict_idx + 1;
+
+ push_watch_cursor (ia);
+
+ /* Remove previous column and replace with new column. */
+ pspp_sheet_view_remove_column (tv, pspp_sheet_view_get_column (tv, column_idx));
+ pspp_sheet_view_insert_column (tv, make_data_column (ia, tv, false, dict_idx),
+ column_idx);
+
+ /* Save a copy of the modified variable in modified_vars, so
+ that its attributes will be preserved if we back up to the
+ previous page with the Prev button and then come back
+ here. */
+ if (dict_idx >= p->modified_var_cnt)
+ {
+ size_t i;
+ p->modified_vars = xnrealloc (p->modified_vars, dict_idx + 1,
+ sizeof *p->modified_vars);
+ for (i = 0; i <= dict_idx; i++)
+ p->modified_vars[i] = NULL;
+ p->modified_var_cnt = dict_idx + 1;
+ }
+ if (p->modified_vars[dict_idx])
+ var_destroy (p->modified_vars[dict_idx]);
+ p->modified_vars[dict_idx]
+ = var_clone (psppire_dict_get_variable (dict, dict_idx));
+
+ pop_watch_cursor (ia);
+}
+
+
+
+
+void
+formats_append_syntax (const struct import_assistant *ia, struct string *s)
+{
+ int i;
+ int var_cnt;
+ ds_put_cstr (s, " /VARIABLES=\n");
+
+ var_cnt = dict_get_var_cnt (ia->dict);
+ for (i = 0; i < var_cnt; i++)
+ {
+ struct variable *var = dict_get_var (ia->dict, i);
+ char format_string[FMT_STRING_LEN_MAX + 1];
+ fmt_to_string (var_get_print_format (var), format_string);
+ ds_put_format (s, " %s %s%s\n",
+ var_get_name (var), format_string,
+ i == var_cnt - 1 ? "." : "");
+ }
+}
--- /dev/null
+/* PSPPIRE - a graphical user interface for PSPP.
+ Copyright (C) 2013 Free Software Foundation
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef PAGE_FORMATS_H
+#define PAGE_FORMATS_H
+
+struct formats_page;
+struct import_assistant;
+struct string;
+
+struct formats_page *formats_page_create (struct import_assistant *ia);
+void formats_append_syntax (const struct import_assistant *ia, struct string *s);
+
+
+#endif
--- /dev/null
+/* PSPPIRE - a graphical user interface for PSPP.
+ Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include "page-intro.h"
+
+#include "ui/gui/text-data-import-dialog.h"
+
+#include <errno.h>
+#include <fcntl.h>
+#include <gtk/gtk.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <sys/stat.h>
+
+#include "data/data-in.h"
+#include "data/data-out.h"
+#include "data/format-guesser.h"
+#include "data/value-labels.h"
+#include "language/data-io/data-parser.h"
+#include "language/lexer/lexer.h"
+#include "libpspp/assertion.h"
+#include "libpspp/i18n.h"
+#include "libpspp/line-reader.h"
+#include "libpspp/message.h"
+#include "ui/gui/checkbox-treeview.h"
+#include "ui/gui/dialog-common.h"
+#include "ui/gui/executor.h"
+#include "ui/gui/helper.h"
+#include "ui/gui/builder-wrapper.h"
+#include "ui/gui/psppire-data-window.h"
+#include "ui/gui/psppire-dialog.h"
+#include "ui/gui/psppire-encoding-selector.h"
+#include "ui/gui/psppire-empty-list-store.h"
+#include "ui/gui/psppire-var-sheet.h"
+#include "ui/gui/psppire-scanf.h"
+#include "ui/syntax-gen.h"
+
+#include "gl/error.h"
+#include "gl/intprops.h"
+#include "gl/xalloc.h"
+
+#include "gettext.h"
+#define _(msgid) gettext (msgid)
+#define N_(msgid) msgid
+
+struct import_assistant;
+
+
+\f
+/* The "intro" page of the assistant. */
+
+/* The introduction page of the assistant. */
+struct intro_page
+ {
+ GtkWidget *page;
+ GtkWidget *all_cases_button;
+ GtkWidget *n_cases_button;
+ GtkWidget *n_cases_spin;
+ GtkWidget *percent_button;
+ GtkWidget *percent_spin;
+ };
+
+static void on_intro_amount_changed (struct intro_page *);
+
+/* Initializes IA's intro substructure. */
+struct intro_page *
+intro_page_create (struct import_assistant *ia)
+{
+ GtkBuilder *builder = ia->asst.builder;
+ struct string s;
+ GtkWidget *hbox_n_cases ;
+ GtkWidget *hbox_percent ;
+ GtkWidget *table ;
+
+ struct intro_page *p = xzalloc (sizeof (*p));
+
+ p->n_cases_spin = gtk_spin_button_new_with_range (0, INT_MAX, 100);
+
+ hbox_n_cases = psppire_scanf_new (_("Only the first %4d cases"), &p->n_cases_spin);
+
+ table = get_widget_assert (builder, "button-table");
+
+ gtk_table_attach_defaults (GTK_TABLE (table), hbox_n_cases,
+ 1, 2,
+ 1, 2);
+
+ p->percent_spin = gtk_spin_button_new_with_range (0, 100, 10);
+
+ hbox_percent = psppire_scanf_new (_("Only the first %3d %% of file (approximately)"), &p->percent_spin);
+
+ gtk_table_attach_defaults (GTK_TABLE (table), hbox_percent,
+ 1, 2,
+ 2, 3);
+
+ p->page = add_page_to_assistant (ia, get_widget_assert (builder, "Intro"),
+ GTK_ASSISTANT_PAGE_INTRO);
+
+ p->all_cases_button = get_widget_assert (builder, "import-all-cases");
+
+ p->n_cases_button = get_widget_assert (builder, "import-n-cases");
+
+ p->percent_button = get_widget_assert (builder, "import-percent");
+
+ g_signal_connect_swapped (p->all_cases_button, "toggled",
+ G_CALLBACK (on_intro_amount_changed), p);
+ g_signal_connect_swapped (p->n_cases_button, "toggled",
+ G_CALLBACK (on_intro_amount_changed), p);
+ g_signal_connect_swapped (p->percent_button, "toggled",
+ G_CALLBACK (on_intro_amount_changed), p);
+
+ on_intro_amount_changed (p);
+
+ ds_init_empty (&s);
+ ds_put_cstr (&s, _("This assistant will guide you through the process of "
+ "importing data into PSPP from a text file with one line "
+ "per case, in which fields are separated by tabs, "
+ "commas, or other delimiters.\n\n"));
+ if (ia->file.total_is_exact)
+ ds_put_format (
+ &s, ngettext ("The selected file contains %zu line of text. ",
+ "The selected file contains %zu lines of text. ",
+ ia->file.line_cnt),
+ ia->file.line_cnt);
+ else if (ia->file.total_lines > 0)
+ {
+ ds_put_format (
+ &s, ngettext (
+ "The selected file contains approximately %lu line of text. ",
+ "The selected file contains approximately %lu lines of text. ",
+ ia->file.total_lines),
+ ia->file.total_lines);
+ ds_put_format (
+ &s, ngettext (
+ "Only the first %zu line of the file will be shown for "
+ "preview purposes in the following screens. ",
+ "Only the first %zu lines of the file will be shown for "
+ "preview purposes in the following screens. ",
+ ia->file.line_cnt),
+ ia->file.line_cnt);
+ }
+ ds_put_cstr (&s, _("You may choose below how much of the file should "
+ "actually be imported."));
+ gtk_label_set_text (GTK_LABEL (get_widget_assert (builder, "intro-label")),
+ ds_cstr (&s));
+ ds_destroy (&s);
+
+ return p;
+}
+
+/* Resets IA's intro page to its initial state. */
+void
+reset_intro_page (struct import_assistant *ia)
+{
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ia->intro->all_cases_button),
+ true);
+}
+
+/* Called when one of the radio buttons is clicked. */
+static void
+on_intro_amount_changed (struct intro_page *p)
+{
+ gtk_widget_set_sensitive (p->n_cases_spin,
+ gtk_toggle_button_get_active (
+ GTK_TOGGLE_BUTTON (p->n_cases_button)));
+
+ gtk_widget_set_sensitive (p->percent_spin,
+ gtk_toggle_button_get_active (
+ GTK_TOGGLE_BUTTON (p->percent_button)));
+}
+
+
+void
+intro_append_syntax (const struct intro_page *p, struct string *s)
+{
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (p->n_cases_button)))
+ ds_put_format (s, " /IMPORTCASES=FIRST %d\n",
+ gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (p->n_cases_spin)));
+ else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (p->percent_button)))
+ ds_put_format (s, " /IMPORTCASES=PERCENT %d\n",
+ gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (p->percent_spin)));
+ else
+ ds_put_cstr (s, " /IMPORTCASES=ALL\n");
+}
--- /dev/null
+/* PSPPIRE - a graphical user interface for PSPP.
+ Copyright (C) 2013 Free Software Foundation
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef PAGE_INTRO_H
+#define PAGE_INTRO_H
+
+struct intro_page;
+struct import_assistant;
+struct string;
+
+struct intro_page *intro_page_create (struct import_assistant *ia);
+void intro_append_syntax (const struct intro_page *p, struct string *s);
+
+
+#endif
--- /dev/null
+/* PSPPIRE - a graphical user interface for PSPP.
+ Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include "page-separators.h"
+
+#include "ui/gui/text-data-import-dialog.h"
+
+#include <errno.h>
+#include <fcntl.h>
+#include <gtk/gtk.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <sys/stat.h>
+
+#include "data/data-in.h"
+#include "data/data-out.h"
+#include "data/format-guesser.h"
+#include "data/value-labels.h"
+#include "language/data-io/data-parser.h"
+#include "language/lexer/lexer.h"
+#include "libpspp/assertion.h"
+#include "libpspp/i18n.h"
+#include "libpspp/line-reader.h"
+#include "libpspp/message.h"
+#include "ui/gui/checkbox-treeview.h"
+#include "ui/gui/dialog-common.h"
+#include "ui/gui/executor.h"
+#include "ui/gui/helper.h"
+#include "ui/gui/builder-wrapper.h"
+#include "ui/gui/psppire-data-window.h"
+#include "ui/gui/psppire-dialog.h"
+#include "ui/gui/psppire-encoding-selector.h"
+#include "ui/gui/psppire-empty-list-store.h"
+#include "ui/gui/psppire-var-sheet.h"
+#include "ui/gui/psppire-scanf.h"
+#include "ui/syntax-gen.h"
+
+#include "gl/error.h"
+#include "gl/intprops.h"
+#include "gl/xalloc.h"
+
+#include "gettext.h"
+#define _(msgid) gettext (msgid)
+#define N_(msgid) msgid
+
+/* Page where the user chooses field separators. */
+struct separators_page
+ {
+ /* How to break lines into columns. */
+ struct string separators; /* Field separators. */
+ struct string quotes; /* Quote characters. */
+ bool escape; /* Doubled quotes yield a quote mark? */
+
+ GtkWidget *page;
+ GtkWidget *custom_cb;
+ GtkWidget *custom_entry;
+ GtkWidget *quote_cb;
+ GtkWidget *quote_combo;
+ GtkEntry *quote_entry;
+ GtkWidget *escape_cb;
+ PsppSheetView *fields_tree_view;
+ };
+
+/* The "separators" page of the assistant. */
+
+static void revise_fields_preview (struct import_assistant *ia);
+static void choose_likely_separators (struct import_assistant *ia);
+static void find_commonest_chars (unsigned long int histogram[UCHAR_MAX + 1],
+ const char *targets, const char *def,
+ struct string *result);
+static void clear_fields (struct import_assistant *ia);
+static void revise_fields_preview (struct import_assistant *);
+static void set_separators (struct import_assistant *);
+static void get_separators (struct import_assistant *);
+static void on_separators_custom_entry_notify (GObject *UNUSED,
+ GParamSpec *UNUSED,
+ struct import_assistant *);
+static void on_separators_custom_cb_toggle (GtkToggleButton *custom_cb,
+ struct import_assistant *);
+static void on_quote_combo_change (GtkComboBox *combo,
+ struct import_assistant *);
+static void on_quote_cb_toggle (GtkToggleButton *quote_cb,
+ struct import_assistant *);
+static void on_separator_toggle (GtkToggleButton *, struct import_assistant *);
+
+/* A common field separator and its identifying name. */
+struct separator
+ {
+ const char *name; /* Name (for use with get_widget_assert). */
+ int c; /* Separator character. */
+ };
+
+/* All the separators in the dialog box. */
+static const struct separator separators[] =
+ {
+ {"space", ' '},
+ {"tab", '\t'},
+ {"bang", '!'},
+ {"colon", ':'},
+ {"comma", ','},
+ {"hyphen", '-'},
+ {"pipe", '|'},
+ {"semicolon", ';'},
+ {"slash", '/'},
+ };
+#define SEPARATOR_CNT (sizeof separators / sizeof *separators)
+
+static void
+set_quote_list (GtkComboBoxEntry *cb)
+{
+ GtkListStore *list = gtk_list_store_new (1, G_TYPE_STRING);
+ GtkTreeIter iter;
+ gint i;
+ const gchar *seperator[3] = {"'\"", "\'", "\""};
+
+ for (i = 0; i < 3; i++)
+ {
+ const gchar *s = seperator[i];
+
+ /* Add a new row to the model */
+ gtk_list_store_append (list, &iter);
+ gtk_list_store_set (list, &iter,
+ 0, s,
+ -1);
+
+ }
+
+ gtk_combo_box_set_model (GTK_COMBO_BOX (cb), GTK_TREE_MODEL (list));
+ g_object_unref (list);
+
+ gtk_combo_box_entry_set_text_column (cb, 0);
+}
+
+/* Initializes IA's separators substructure. */
+
+struct separators_page *
+separators_page_create (struct import_assistant *ia)
+{
+ GtkBuilder *builder = ia->asst.builder;
+
+ size_t i;
+
+ struct separators_page *p = xzalloc (sizeof *p);
+
+ p->page = add_page_to_assistant (ia, get_widget_assert (builder, "Separators"),
+ GTK_ASSISTANT_PAGE_CONTENT);
+
+ p->custom_cb = get_widget_assert (builder, "custom-cb");
+ p->custom_entry = get_widget_assert (builder, "custom-entry");
+ p->quote_combo = get_widget_assert (builder, "quote-combo");
+ p->quote_entry = GTK_ENTRY (gtk_bin_get_child (GTK_BIN (p->quote_combo)));
+ p->quote_cb = get_widget_assert (builder, "quote-cb");
+ p->escape_cb = get_widget_assert (builder, "escape");
+
+ set_quote_list (GTK_COMBO_BOX_ENTRY (p->quote_combo));
+ p->fields_tree_view = PSPP_SHEET_VIEW (get_widget_assert (builder, "fields"));
+ g_signal_connect (p->quote_combo, "changed",
+ G_CALLBACK (on_quote_combo_change), ia);
+ g_signal_connect (p->quote_cb, "toggled",
+ G_CALLBACK (on_quote_cb_toggle), ia);
+ g_signal_connect (p->custom_entry, "notify::text",
+ G_CALLBACK (on_separators_custom_entry_notify), ia);
+ g_signal_connect (p->custom_cb, "toggled",
+ G_CALLBACK (on_separators_custom_cb_toggle), ia);
+ for (i = 0; i < SEPARATOR_CNT; i++)
+ g_signal_connect (get_widget_assert (builder, separators[i].name),
+ "toggled", G_CALLBACK (on_separator_toggle), ia);
+ g_signal_connect (p->escape_cb, "toggled",
+ G_CALLBACK (on_separator_toggle), ia);
+
+ return p;
+}
+
+/* Frees IA's separators substructure. */
+void
+destroy_separators_page (struct import_assistant *ia)
+{
+ struct separators_page *s = ia->separators;
+
+ ds_destroy (&s->separators);
+ ds_destroy (&s->quotes);
+ clear_fields (ia);
+}
+
+/* Called just before the separators page becomes visible in the
+ assistant. */
+void
+prepare_separators_page (struct import_assistant *ia)
+{
+ revise_fields_preview (ia);
+}
+
+/* Called when the Reset button is clicked on the separators
+ page, resets the separators to the defaults. */
+void
+reset_separators_page (struct import_assistant *ia)
+{
+ choose_likely_separators (ia);
+ set_separators (ia);
+}
+
+/* Frees and clears the column data in IA's separators
+ substructure. */
+static void
+clear_fields (struct import_assistant *ia)
+{
+ if (ia->column_cnt > 0)
+ {
+ struct column *col;
+ size_t row;
+
+ for (row = 0; row < ia->file.line_cnt; row++)
+ {
+ const struct string *line = &ia->file.lines[row];
+ const char *line_start = ds_data (line);
+ const char *line_end = ds_end (line);
+
+ for (col = ia->columns; col < &ia->columns[ia->column_cnt]; col++)
+ {
+ char *s = ss_data (col->contents[row]);
+ if (!(s >= line_start && s <= line_end))
+ ss_dealloc (&col->contents[row]);
+ }
+ }
+
+ for (col = ia->columns; col < &ia->columns[ia->column_cnt]; col++)
+ {
+ free (col->name);
+ free (col->contents);
+ }
+
+ free (ia->columns);
+ ia->columns = NULL;
+ ia->column_cnt = 0;
+ }
+}
+
+/* Breaks the file data in IA into columns based on the
+ separators set in IA's separators substructure. */
+static void
+split_fields (struct import_assistant *ia)
+{
+ struct separators_page *s = ia->separators;
+ size_t columns_allocated;
+ bool space_sep;
+ size_t row;
+
+ clear_fields (ia);
+
+ /* Is space in the set of separators? */
+ space_sep = ss_find_byte (ds_ss (&s->separators), ' ') != SIZE_MAX;
+
+ /* Split all the lines, not just those from
+ ia->first_line.skip_lines on, so that we split the line that
+ contains variables names if ia->first_line.variable_names is
+ true. */
+ columns_allocated = 0;
+ for (row = 0; row < ia->file.line_cnt; row++)
+ {
+ struct string *line = &ia->file.lines[row];
+ struct substring text = ds_ss (line);
+ size_t column_idx;
+
+ for (column_idx = 0; ; column_idx++)
+ {
+ struct substring field;
+ struct column *column;
+
+ if (space_sep)
+ ss_ltrim (&text, ss_cstr (" "));
+ if (ss_is_empty (text))
+ {
+ if (column_idx != 0)
+ break;
+ field = text;
+ }
+ else if (!ds_is_empty (&s->quotes)
+ && ds_find_byte (&s->quotes, text.string[0]) != SIZE_MAX)
+ {
+ int quote = ss_get_byte (&text);
+ if (!s->escape)
+ ss_get_until (&text, quote, &field);
+ else
+ {
+ struct string s;
+ int c;
+
+ ds_init_empty (&s);
+ while ((c = ss_get_byte (&text)) != EOF)
+ if (c != quote)
+ ds_put_byte (&s, c);
+ else if (ss_match_byte (&text, quote))
+ ds_put_byte (&s, quote);
+ else
+ break;
+ field = ds_ss (&s);
+ }
+ }
+ else
+ ss_get_bytes (&text, ss_cspan (text, ds_ss (&s->separators)),
+ &field);
+
+ if (column_idx >= ia->column_cnt)
+ {
+ struct column *column;
+
+ if (ia->column_cnt >= columns_allocated)
+ ia->columns = x2nrealloc (ia->columns, &columns_allocated,
+ sizeof *ia->columns);
+ column = &ia->columns[ia->column_cnt++];
+ column->name = NULL;
+ column->width = 0;
+ column->contents = xcalloc (ia->file.line_cnt,
+ sizeof *column->contents);
+ }
+ column = &ia->columns[column_idx];
+ column->contents[row] = field;
+ if (ss_length (field) > column->width)
+ column->width = ss_length (field);
+
+ if (space_sep)
+ ss_ltrim (&text, ss_cstr (" "));
+ if (ss_is_empty (text))
+ break;
+ if (ss_find_byte (ds_ss (&s->separators), ss_first (text))
+ != SIZE_MAX)
+ ss_advance (&text, 1);
+ }
+ }
+}
+
+/* Chooses a name for each column on the separators page */
+static void
+choose_column_names (struct import_assistant *ia)
+{
+ struct dictionary *dict;
+ unsigned long int generated_name_count = 0;
+ struct column *col;
+ size_t name_row;
+
+ dict = dict_create (get_default_encoding ());
+ name_row = ia->variable_names && ia->skip_lines ? ia->skip_lines : 0;
+ for (col = ia->columns; col < &ia->columns[ia->column_cnt]; col++)
+ {
+ char *hint, *name;
+
+ hint = name_row ? ss_xstrdup (col->contents[name_row - 1]) : NULL;
+ name = dict_make_unique_var_name (dict, hint, &generated_name_count);
+ free (hint);
+
+ col->name = name;
+ dict_create_var_assert (dict, name, 0);
+ }
+ dict_destroy (dict);
+}
+
+/* Picks the most likely separator and quote characters based on
+ IA's file data. */
+static void
+choose_likely_separators (struct import_assistant *ia)
+{
+ unsigned long int histogram[UCHAR_MAX + 1] = { 0 };
+ size_t row;
+
+ /* Construct a histogram of all the characters used in the
+ file. */
+ for (row = 0; row < ia->file.line_cnt; row++)
+ {
+ struct substring line = ds_ss (&ia->file.lines[row]);
+ size_t length = ss_length (line);
+ size_t i;
+ for (i = 0; i < length; i++)
+ histogram[(unsigned char) line.string[i]]++;
+ }
+
+ find_commonest_chars (histogram, "\"'", "", &ia->separators->quotes);
+ find_commonest_chars (histogram, ",;:/|!\t-", ",", &ia->separators->separators);
+ ia->separators->escape = true;
+}
+
+/* Chooses the most common character among those in TARGETS,
+ based on the frequency data in HISTOGRAM, and stores it in
+ RESULT. If there is a tie for the most common character among
+ those in TARGETS, the earliest character is chosen. If none
+ of the TARGETS appear at all, then DEF is used as a
+ fallback. */
+static void
+find_commonest_chars (unsigned long int histogram[UCHAR_MAX + 1],
+ const char *targets, const char *def,
+ struct string *result)
+{
+ unsigned char max = 0;
+ unsigned long int max_count = 0;
+
+ for (; *targets != '\0'; targets++)
+ {
+ unsigned char c = *targets;
+ unsigned long int count = histogram[c];
+ if (count > max_count)
+ {
+ max = c;
+ max_count = count;
+ }
+ }
+ if (max_count > 0)
+ {
+ ds_clear (result);
+ ds_put_byte (result, max);
+ }
+ else
+ ds_assign_cstr (result, def);
+}
+
+/* Revises the contents of the fields tree view based on the
+ currently chosen set of separators. */
+static void
+revise_fields_preview (struct import_assistant *ia)
+{
+ GtkWidget *w;
+
+ push_watch_cursor (ia);
+
+ w = GTK_WIDGET (ia->separators->fields_tree_view);
+ gtk_widget_destroy (w);
+ get_separators (ia);
+ split_fields (ia);
+ choose_column_names (ia);
+ ia->separators->fields_tree_view = create_data_tree_view (
+ true,
+ GTK_CONTAINER (get_widget_assert (ia->asst.builder, "fields-scroller")),
+ ia);
+
+ pop_watch_cursor (ia);
+}
+
+/* Sets the widgets to match IA's separators substructure. */
+static void
+set_separators (struct import_assistant *ia)
+{
+ struct separators_page *s = ia->separators;
+ unsigned int seps;
+ struct string custom;
+ bool any_custom;
+ bool any_quotes;
+ size_t i;
+
+ ds_init_empty (&custom);
+ seps = 0;
+ for (i = 0; i < ds_length (&s->separators); i++)
+ {
+ unsigned char c = ds_at (&s->separators, i);
+ int j;
+
+ for (j = 0; j < SEPARATOR_CNT; j++)
+ {
+ const struct separator *s = &separators[j];
+ if (s->c == c)
+ {
+ seps += 1u << j;
+ goto next;
+ }
+ }
+
+ ds_put_byte (&custom, c);
+ next:;
+ }
+
+ for (i = 0; i < SEPARATOR_CNT; i++)
+ {
+ const struct separator *s = &separators[i];
+ GtkWidget *button = get_widget_assert (ia->asst.builder, s->name);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button),
+ (seps & (1u << i)) != 0);
+ }
+ any_custom = !ds_is_empty (&custom);
+ gtk_entry_set_text (GTK_ENTRY (s->custom_entry), ds_cstr (&custom));
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (s->custom_cb),
+ any_custom);
+ gtk_widget_set_sensitive (s->custom_entry, any_custom);
+ ds_destroy (&custom);
+
+ any_quotes = !ds_is_empty (&s->quotes);
+
+ gtk_entry_set_text (s->quote_entry,
+ any_quotes ? ds_cstr (&s->quotes) : "\"");
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (s->quote_cb),
+ any_quotes);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (s->escape_cb),
+ s->escape);
+ gtk_widget_set_sensitive (s->quote_combo, any_quotes);
+ gtk_widget_set_sensitive (s->escape_cb, any_quotes);
+}
+
+/* Sets IA's separators substructure to match the widgets. */
+static void
+get_separators (struct import_assistant *ia)
+{
+ struct separators_page *s = ia->separators;
+ int i;
+
+ ds_clear (&s->separators);
+ for (i = 0; i < SEPARATOR_CNT; i++)
+ {
+ const struct separator *sep = &separators[i];
+ GtkWidget *button = get_widget_assert (ia->asst.builder, sep->name);
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button)))
+ ds_put_byte (&s->separators, sep->c);
+ }
+
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (s->custom_cb)))
+ ds_put_cstr (&s->separators,
+ gtk_entry_get_text (GTK_ENTRY (s->custom_entry)));
+
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (s->quote_cb)))
+ {
+ gchar *text = gtk_combo_box_get_active_text (
+ GTK_COMBO_BOX (s->quote_combo));
+ ds_assign_cstr (&s->quotes, text);
+ g_free (text);
+ }
+ else
+ ds_clear (&s->quotes);
+ s->escape = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (s->escape_cb));
+}
+
+/* Called when the user changes the entry field for custom
+ separators. */
+static void
+on_separators_custom_entry_notify (GObject *gobject UNUSED,
+ GParamSpec *arg1 UNUSED,
+ struct import_assistant *ia)
+{
+ revise_fields_preview (ia);
+}
+
+/* Called when the user toggles the checkbox that enables custom
+ separators. */
+static void
+on_separators_custom_cb_toggle (GtkToggleButton *custom_cb,
+ struct import_assistant *ia)
+{
+ bool is_active = gtk_toggle_button_get_active (custom_cb);
+ gtk_widget_set_sensitive (ia->separators->custom_entry, is_active);
+ revise_fields_preview (ia);
+}
+
+/* Called when the user changes the selection in the combo box
+ that selects a quote character. */
+static void
+on_quote_combo_change (GtkComboBox *combo, struct import_assistant *ia)
+{
+ revise_fields_preview (ia);
+}
+
+/* Called when the user toggles the checkbox that enables
+ quoting. */
+static void
+on_quote_cb_toggle (GtkToggleButton *quote_cb, struct import_assistant *ia)
+{
+ bool is_active = gtk_toggle_button_get_active (quote_cb);
+ gtk_widget_set_sensitive (ia->separators->quote_combo, is_active);
+ gtk_widget_set_sensitive (ia->separators->escape_cb, is_active);
+ revise_fields_preview (ia);
+}
+
+/* Called when the user toggles one of the separators
+ checkboxes. */
+static void
+on_separator_toggle (GtkToggleButton *toggle UNUSED,
+ struct import_assistant *ia)
+{
+ revise_fields_preview (ia);
+}
+
+
+
+void
+separators_append_syntax (const struct import_assistant *ia, struct string *s)
+{
+ int i;
+ ds_put_cstr (s, " /DELIMITERS=\"");
+ if (ds_find_byte (&ia->separators->separators, '\t') != SIZE_MAX)
+ ds_put_cstr (s, "\\t");
+ if (ds_find_byte (&ia->separators->separators, '\\') != SIZE_MAX)
+ ds_put_cstr (s, "\\\\");
+ for (i = 0; i < ds_length (&ia->separators->separators); i++)
+ {
+ char c = ds_at (&ia->separators->separators, i);
+ if (c == '"')
+ ds_put_cstr (s, "\"\"");
+ else if (c != '\t' && c != '\\')
+ ds_put_byte (s, c);
+ }
+ ds_put_cstr (s, "\"\n");
+ if (!ds_is_empty (&ia->separators->quotes))
+ syntax_gen_pspp (s, " /QUALIFIER=%sq\n", ds_cstr (&ia->separators->quotes));
+ if (!ds_is_empty (&ia->separators->quotes) && ia->separators->escape)
+ ds_put_cstr (s, " /ESCAPE\n");
+}
--- /dev/null
+/* PSPPIRE - a graphical user interface for PSPP.
+ Copyright (C) 2013 Free Software Foundation
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef PAGE_SEPARATORS
+#define PAGE_SEPARATORS
+
+struct separators_page;
+struct import_assistant;
+struct string;
+
+struct separators_page *separators_page_create (struct import_assistant *ia);
+void separators_append_syntax (const struct import_assistant *ia, struct string *s);
+
+
+#endif
connect_action (de, "file_new_data", G_CALLBACK (create_data_window));
- connect_action (de, "file_import-text", G_CALLBACK (text_data_import_assistant));
+ connect_action (de, "file_import", G_CALLBACK (text_data_import_assistant));
connect_action (de, "file_save", G_CALLBACK (psppire_window_save));
#include "data/spreadsheet-reader.h"
#include "data/casereader.h"
#include "data/case.h"
+#include "data/settings.h"
#include "libpspp/message.h"
+#include "libpspp/i18n.h"
+
#include "gl/xalloc.h"
GtkWidget *button;
struct xxx stuff;
+ i18n_init ();
+ settings_init ();
+
gtk_init (&argc, &argv);
if ( argc < 2)
/* PSPPIRE - a graphical user interface for PSPP.
- Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation
+ Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation
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
#include "ui/gui/text-data-import-dialog.h"
+#include "page-intro.h"
+#include "page-first-line.h"
+#include "page-separators.h"
+#include "page-formats.h"
+
#include <errno.h>
#include <fcntl.h>
#include <gtk/gtk.h>
#include "libpspp/i18n.h"
#include "libpspp/line-reader.h"
#include "libpspp/message.h"
-#include "ui/gui/builder-wrapper.h"
#include "ui/gui/checkbox-treeview.h"
#include "ui/gui/dialog-common.h"
#include "ui/gui/executor.h"
#include "ui/gui/helper.h"
+#include "ui/gui/builder-wrapper.h"
#include "ui/gui/pspp-sheet-selection.h"
#include "ui/gui/pspp-sheet-view.h"
#include "ui/gui/psppire-data-window.h"
#include "ui/gui/psppire-dialog.h"
#include "ui/gui/psppire-encoding-selector.h"
#include "ui/gui/psppire-empty-list-store.h"
-#include "ui/gui/psppire-scanf.h"
#include "ui/gui/psppire-var-sheet.h"
+#include "ui/gui/psppire-scanf.h"
#include "ui/syntax-gen.h"
#include "gl/error.h"
struct import_assistant;
-/* The file to be imported. */
-struct file
- {
- char *file_name; /* File name. */
- gchar *encoding; /* Encoding. */
- unsigned long int total_lines; /* Number of lines in file. */
- bool total_is_exact; /* Is total_lines exact (or an estimate)? */
-
- /* The first several lines of the file. */
- struct string *lines;
- size_t line_cnt;
- };
-static bool init_file (struct import_assistant *, GtkWindow *parent);
-static void destroy_file (struct import_assistant *);
-
-/* The main body of the GTK+ assistant and related data. */
-struct assistant
- {
- GtkBuilder *builder;
- GtkAssistant *assistant;
- GMainLoop *main_loop;
- GtkWidget *paste_button;
- GtkWidget *reset_button;
- int response;
- int watch_cursor;
-
- GtkCellRenderer *prop_renderer;
- GtkCellRenderer *fixed_renderer;
- };
-static void init_assistant (struct import_assistant *, GtkWindow *);
-static void destroy_assistant (struct import_assistant *);
-static GtkWidget *add_page_to_assistant (struct import_assistant *,
- GtkWidget *page,
- GtkAssistantPageType);
-
-/* The introduction page of the assistant. */
-struct intro_page
- {
- GtkWidget *page;
- GtkWidget *all_cases_button;
- GtkWidget *n_cases_button;
- GtkWidget *n_cases_spin;
- GtkWidget *percent_button;
- GtkWidget *percent_spin;
- };
-static void init_intro_page (struct import_assistant *);
-static void reset_intro_page (struct import_assistant *);
-
-/* Page where the user chooses the first line of data. */
-struct first_line_page
- {
- int skip_lines; /* Number of initial lines to skip? */
- bool variable_names; /* Variable names above first line of data? */
-
- GtkWidget *page;
- PsppSheetView *tree_view;
- GtkWidget *variable_names_cb;
- };
-static void init_first_line_page (struct import_assistant *);
-static void reset_first_line_page (struct import_assistant *);
-
-/* Page where the user chooses field separators. */
-struct separators_page
- {
- /* How to break lines into columns. */
- struct string separators; /* Field separators. */
- struct string quotes; /* Quote characters. */
- bool escape; /* Doubled quotes yield a quote mark? */
-
- /* The columns produced thereby. */
- struct column *columns; /* Information about each column. */
- size_t column_cnt; /* Number of columns. */
-
- GtkWidget *page;
- GtkWidget *custom_cb;
- GtkWidget *custom_entry;
- GtkWidget *quote_cb;
- GtkWidget *quote_combo;
- GtkEntry *quote_entry;
- GtkWidget *escape_cb;
- PsppSheetView *fields_tree_view;
- };
-/* The columns that the separators divide the data into. */
-struct column
- {
- /* Variable name for this column. This is the variable name
- used on the separators page; it can be overridden by the
- user on the formats page. */
- char *name;
-
- /* Maximum length of any row in this column. */
- size_t width;
-
- /* Contents of this column: contents[row] is the contents for
- the given row.
-
- A null substring indicates a missing column for that row
- (because the line contains an insufficient number of
- separators).
-
- contents[] elements may be substrings of the lines[]
- strings that represent the whole lines of the file, to
- save memory. Other elements are dynamically allocated
- with ss_alloc_substring. */
- struct substring *contents;
- };
-static void init_separators_page (struct import_assistant *);
-static void destroy_separators_page (struct import_assistant *);
-static void prepare_separators_page (struct import_assistant *);
-static void reset_separators_page (struct import_assistant *);
-
-/* Page where the user verifies and adjusts input formats. */
-struct formats_page
- {
- struct dictionary *dict;
-
- GtkWidget *page;
- PsppSheetView *data_tree_view;
- PsppireDict *psppire_dict;
- struct variable **modified_vars;
- size_t modified_var_cnt;
- };
-static void init_formats_page (struct import_assistant *);
-static void destroy_formats_page (struct import_assistant *);
-static void prepare_formats_page (struct import_assistant *);
-static void reset_formats_page (struct import_assistant *);
-
-struct import_assistant
- {
- struct file file;
- struct assistant asst;
- struct intro_page intro;
- struct first_line_page first_line;
- struct separators_page separators;
- struct formats_page formats;
- };
-
static void apply_dict (const struct dictionary *, struct string *);
static char *generate_syntax (const struct import_assistant *);
-static gboolean get_tooltip_location (GtkWidget *widget, gint wx, gint wy,
- const struct import_assistant *,
- size_t *row, size_t *column);
-static void make_tree_view (const struct import_assistant *ia,
- size_t first_line,
- PsppSheetView **tree_view);
static void add_line_number_column (const struct import_assistant *,
PsppSheetView *);
-static gint get_monospace_width (PsppSheetView *, GtkCellRenderer *,
- size_t char_cnt);
-static gint get_string_width (PsppSheetView *, GtkCellRenderer *,
- const char *string);
-static PsppSheetViewColumn *make_data_column (struct import_assistant *,
- PsppSheetView *, bool input,
- gint column_idx);
-static PsppSheetView *create_data_tree_view (bool input, GtkContainer *parent,
- struct import_assistant *);
-static void push_watch_cursor (struct import_assistant *);
-static void pop_watch_cursor (struct import_assistant *);
/* Pops up the Text Data Import assistant. */
void
text_data_import_assistant (PsppireDataWindow *dw)
{
GtkWindow *parent_window = GTK_WINDOW (dw);
- struct import_assistant *ia;
+ struct import_assistant *ia = init_assistant (parent_window);
- ia = xzalloc (sizeof *ia);
if (!init_file (ia, parent_window))
{
free (ia);
return;
}
- init_assistant (ia, parent_window);
- init_intro_page (ia);
- init_first_line_page (ia);
- init_separators_page (ia);
- init_formats_page (ia);
+
+ {
+ ia->intro = intro_page_create (ia);
+ ia->first_line = first_line_page_create (ia);
+ ia->separators = separators_page_create (ia);
+ }
+ ia->formats = formats_page_create (ia);
gtk_widget_show_all (GTK_WIDGET (ia->asst.assistant));
ia->asst.main_loop = g_main_loop_new (NULL, false);
- g_main_loop_run (ia->asst.main_loop);
+
+ {
+ /*
+ Instead of this block,
+ A simple g_main_loop_run (ia->asst.main_loop); should work here. But it seems to crash.
+ I have no idea why.
+ */
+ GMainContext *ctx = g_main_loop_get_context (ia->asst.main_loop);
+ ia->asst.loop_done = false;
+ while (! ia->asst.loop_done)
+ {
+ g_main_context_iteration (ctx, TRUE);
+ }
+ }
g_main_loop_unref (ia->asst.main_loop);
switch (ia->asst.response)
break;
}
- destroy_formats_page (ia);
- destroy_separators_page (ia);
+ {
+ destroy_formats_page (ia);
+ destroy_separators_page (ia);
+ }
+
destroy_assistant (ia);
destroy_file (ia);
free (ia);
generate_syntax (const struct import_assistant *ia)
{
struct string s = DS_EMPTY_INITIALIZER;
- size_t var_cnt;
- size_t i;
-
- syntax_gen_pspp (&s,
- "GET DATA\n"
- " /TYPE=TXT\n"
- " /FILE=%sq\n",
- ia->file.file_name);
- if (ia->file.encoding && strcmp (ia->file.encoding, "Auto"))
- syntax_gen_pspp (&s, " /ENCODING=%sq\n", ia->file.encoding);
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (
- ia->intro.n_cases_button)))
- ds_put_format (&s, " /IMPORTCASES=FIRST %d\n",
- gtk_spin_button_get_value_as_int (
- GTK_SPIN_BUTTON (ia->intro.n_cases_spin)));
- else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (
- ia->intro.percent_button)))
- ds_put_format (&s, " /IMPORTCASES=PERCENT %d\n",
- gtk_spin_button_get_value_as_int (
- GTK_SPIN_BUTTON (ia->intro.percent_spin)));
- else
- ds_put_cstr (&s, " /IMPORTCASES=ALL\n");
- ds_put_cstr (&s,
- " /ARRANGEMENT=DELIMITED\n"
- " /DELCASE=LINE\n");
- if (ia->first_line.skip_lines > 0)
- ds_put_format (&s, " /FIRSTCASE=%d\n", ia->first_line.skip_lines + 1);
- ds_put_cstr (&s, " /DELIMITERS=\"");
- if (ds_find_byte (&ia->separators.separators, '\t') != SIZE_MAX)
- ds_put_cstr (&s, "\\t");
- if (ds_find_byte (&ia->separators.separators, '\\') != SIZE_MAX)
- ds_put_cstr (&s, "\\\\");
- for (i = 0; i < ds_length (&ia->separators.separators); i++)
- {
- char c = ds_at (&ia->separators.separators, i);
- if (c == '"')
- ds_put_cstr (&s, "\"\"");
- else if (c != '\t' && c != '\\')
- ds_put_byte (&s, c);
- }
- ds_put_cstr (&s, "\"\n");
- if (!ds_is_empty (&ia->separators.quotes))
- syntax_gen_pspp (&s, " /QUALIFIER=%sq\n", ds_cstr (&ia->separators.quotes));
- if (!ds_is_empty (&ia->separators.quotes) && ia->separators.escape)
- ds_put_cstr (&s, " /ESCAPE\n");
- ds_put_cstr (&s, " /VARIABLES=\n");
-
- var_cnt = dict_get_var_cnt (ia->formats.dict);
- for (i = 0; i < var_cnt; i++)
- {
- struct variable *var = dict_get_var (ia->formats.dict, i);
- char format_string[FMT_STRING_LEN_MAX + 1];
- fmt_to_string (var_get_print_format (var), format_string);
- ds_put_format (&s, " %s %s%s\n",
- var_get_name (var), format_string,
- i == var_cnt - 1 ? "." : "");
- }
-
- apply_dict (ia->formats.dict, &s);
-
- return ds_cstr (&s);
-}
-\f
-/* Choosing a file and reading it. */
-
-static char *choose_file (GtkWindow *parent_window, gchar **encodingp);
-
-/* Obtains the file to import from the user and initializes IA's
- file substructure. PARENT_WINDOW must be the window to use
- as the file chooser window's parent.
-
- Returns true if successful, false if the file name could not
- be obtained or the file could not be read. */
-static bool
-init_file (struct import_assistant *ia, GtkWindow *parent_window)
-{
- struct file *file = &ia->file;
- enum { MAX_PREVIEW_LINES = 1000 }; /* Max number of lines to read. */
- enum { MAX_LINE_LEN = 16384 }; /* Max length of an acceptable line. */
- struct line_reader *reader;
- struct string input;
-
- file->file_name = choose_file (parent_window, &file->encoding);
- if (file->file_name == NULL)
- return false;
-
- reader = line_reader_for_file (file->encoding, file->file_name, O_RDONLY);
- if (reader == NULL)
- {
- msg (ME, _("Could not open `%s': %s"),
- file->file_name, strerror (errno));
- return false;
- }
-
- ds_init_empty (&input);
- file->lines = xnmalloc (MAX_PREVIEW_LINES, sizeof *file->lines);
- for (; file->line_cnt < MAX_PREVIEW_LINES; file->line_cnt++)
- {
- ds_clear (&input);
- if (!line_reader_read (reader, &input, MAX_LINE_LEN + 1)
- || ds_length (&input) > MAX_LINE_LEN)
- {
- if (line_reader_eof (reader))
- break;
- else if (line_reader_error (reader))
- msg (ME, _("Error reading `%s': %s"),
- file->file_name, strerror (line_reader_error (reader)));
- else
- msg (ME, _("Failed to read `%s', because it contains a line "
- "over %d bytes long and therefore appears not to be "
- "a text file."),
- file->file_name, MAX_LINE_LEN);
- line_reader_close (reader);
- destroy_file (ia);
- ds_destroy (&input);
- return false;
- }
-
- ds_init_cstr (&file->lines[file->line_cnt],
- recode_string ("UTF-8", line_reader_get_encoding (reader),
- ds_cstr (&input), ds_length (&input)));
- }
- ds_destroy (&input);
-
- if (file->line_cnt == 0)
- {
- msg (ME, _("`%s' is empty."), file->file_name);
- line_reader_close (reader);
- destroy_file (ia);
- return false;
- }
-
- /* Estimate the number of lines in the file. */
- if (file->line_cnt < MAX_PREVIEW_LINES)
- file->total_lines = file->line_cnt;
- else
- {
- struct stat s;
- off_t position = line_reader_tell (reader);
- if (fstat (line_reader_fileno (reader), &s) == 0 && position > 0)
- file->total_lines = (double) file->line_cnt / position * s.st_size;
- else
- file->total_lines = 0;
- }
-
- line_reader_close (reader);
-
- return true;
-}
-
-/* Frees IA's file substructure. */
-static void
-destroy_file (struct import_assistant *ia)
-{
- struct file *f = &ia->file;
- size_t i;
-
- for (i = 0; i < f->line_cnt; i++)
- ds_destroy (&f->lines[i]);
- free (f->lines);
- g_free (f->file_name);
- g_free (f->encoding);
-}
-
-/* Obtains the file to read from the user. If successful, returns the name of
- the file and stores the user's chosen encoding for the file into *ENCODINGP.
- The caller must free each of these strings with g_free().
-
- On failure, stores a null pointer and stores NULL in *ENCODINGP.
-
- PARENT_WINDOW must be the window to use as the file chooser window's
- parent. */
-static char *
-choose_file (GtkWindow *parent_window, gchar **encodingp)
-{
- char *file_name;
- GtkFileFilter *filter = NULL;
-
- GtkWidget *dialog = gtk_file_chooser_dialog_new (_("Import Delimited Text Data"),
- parent_window,
- GTK_FILE_CHOOSER_ACTION_OPEN,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
- NULL);
-
- g_object_set (dialog, "local-only", FALSE, NULL);
-
- filter = gtk_file_filter_new ();
- gtk_file_filter_set_name (filter, _("Text files"));
- gtk_file_filter_add_mime_type (filter, "text/*");
- gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
-
- filter = gtk_file_filter_new ();
- gtk_file_filter_set_name (filter, _("Text (*.txt) Files"));
- gtk_file_filter_add_pattern (filter, "*.txt");
- gtk_file_filter_add_pattern (filter, "*.TXT");
- gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
-
- filter = gtk_file_filter_new ();
- gtk_file_filter_set_name (filter, _("Plain Text (ASCII) Files"));
- gtk_file_filter_add_mime_type (filter, "text/plain");
- gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
-
- filter = gtk_file_filter_new ();
- gtk_file_filter_set_name (filter, _("Comma Separated Value Files"));
- gtk_file_filter_add_mime_type (filter, "text/csv");
- gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
-
- /* I've never encountered one of these, but it's listed here:
- http://www.iana.org/assignments/media-types/text/tab-separated-values */
- filter = gtk_file_filter_new ();
- gtk_file_filter_set_name (filter, _("Tab Separated Value Files"));
- gtk_file_filter_add_mime_type (filter, "text/tab-separated-values");
- gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
-
- gtk_file_chooser_set_extra_widget (
- GTK_FILE_CHOOSER (dialog), psppire_encoding_selector_new ("Auto", true));
-
- filter = gtk_file_filter_new ();
- gtk_file_filter_set_name (filter, _("All Files"));
- gtk_file_filter_add_pattern (filter, "*");
- gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
-
- switch (gtk_dialog_run (GTK_DIALOG (dialog)))
- {
- case GTK_RESPONSE_ACCEPT:
- file_name = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
- *encodingp = psppire_encoding_selector_get_encoding (
- gtk_file_chooser_get_extra_widget (GTK_FILE_CHOOSER (dialog)));
- break;
- default:
- file_name = NULL;
- *encodingp = NULL;
- break;
- }
- gtk_widget_destroy (dialog);
-
- return file_name;
-}
-\f
-/* Assistant. */
-
-static void close_assistant (struct import_assistant *, int response);
-static void on_prepare (GtkAssistant *assistant, GtkWidget *page,
- struct import_assistant *);
-static void on_cancel (GtkAssistant *assistant, struct import_assistant *);
-static void on_close (GtkAssistant *assistant, struct import_assistant *);
-static void on_paste (GtkButton *button, struct import_assistant *);
-static void on_reset (GtkButton *button, struct import_assistant *);
-static void close_assistant (struct import_assistant *, int response);
-
-/* Initializes IA's asst substructure. PARENT_WINDOW must be the
- window to use as the assistant window's parent. */
-static void
-init_assistant (struct import_assistant *ia, GtkWindow *parent_window)
-{
- struct assistant *a = &ia->asst;
-
- a->builder = builder_new ("text-data-import.ui");
- a->assistant = GTK_ASSISTANT (gtk_assistant_new ());
- g_signal_connect (a->assistant, "prepare", G_CALLBACK (on_prepare), ia);
- g_signal_connect (a->assistant, "cancel", G_CALLBACK (on_cancel), ia);
- g_signal_connect (a->assistant, "close", G_CALLBACK (on_close), ia);
- a->paste_button = gtk_button_new_from_stock (GTK_STOCK_PASTE);
- gtk_assistant_add_action_widget (a->assistant, a->paste_button);
- g_signal_connect (a->paste_button, "clicked", G_CALLBACK (on_paste), ia);
- a->reset_button = gtk_button_new_from_stock ("pspp-stock-reset");
- gtk_assistant_add_action_widget (a->assistant, a->reset_button);
- g_signal_connect (a->reset_button, "clicked", G_CALLBACK (on_reset), ia);
- gtk_window_set_title (GTK_WINDOW (a->assistant),
- _("Importing Delimited Text Data"));
- gtk_window_set_transient_for (GTK_WINDOW (a->assistant), parent_window);
- gtk_window_set_icon_name (GTK_WINDOW (a->assistant), "pspp");
-
- a->prop_renderer = gtk_cell_renderer_text_new ();
- g_object_ref_sink (a->prop_renderer);
- a->fixed_renderer = gtk_cell_renderer_text_new ();
- g_object_ref_sink (a->fixed_renderer);
- g_object_set (G_OBJECT (a->fixed_renderer),
- "family", "Monospace",
- (void *) NULL);
-}
-
-/* Frees IA's asst substructure. */
-static void
-destroy_assistant (struct import_assistant *ia)
-{
- struct assistant *a = &ia->asst;
-
- g_object_unref (a->prop_renderer);
- g_object_unref (a->fixed_renderer);
- g_object_unref (a->builder);
-}
-
-/* Appends a page of the given TYPE, with PAGE as its content, to
- the GtkAssistant encapsulated by IA. Returns the GtkWidget
- that represents the page. */
-static GtkWidget *
-add_page_to_assistant (struct import_assistant *ia,
- GtkWidget *page, GtkAssistantPageType type)
-{
- const char *title;
- char *title_copy;
- GtkWidget *content;
-
- title = gtk_window_get_title (GTK_WINDOW (page));
- title_copy = xstrdup (title ? title : "");
-
- content = gtk_bin_get_child (GTK_BIN (page));
- assert (content);
- g_object_ref (content);
- gtk_container_remove (GTK_CONTAINER (page), content);
-
- gtk_widget_destroy (page);
-
- gtk_assistant_append_page (ia->asst.assistant, content);
- gtk_assistant_set_page_type (ia->asst.assistant, content, type);
- gtk_assistant_set_page_title (ia->asst.assistant, content, title_copy);
- gtk_assistant_set_page_complete (ia->asst.assistant, content, true);
-
- free (title_copy);
-
- return content;
-}
-
-/* Called just before PAGE is displayed as the current page of
- ASSISTANT, this updates IA content according to the new
- page. */
-static void
-on_prepare (GtkAssistant *assistant, GtkWidget *page,
- struct import_assistant *ia)
-{
-
- if (gtk_assistant_get_page_type (assistant, page)
- == GTK_ASSISTANT_PAGE_CONFIRM)
- gtk_widget_grab_focus (assistant->apply);
- else
- gtk_widget_grab_focus (assistant->forward);
-
- if (page == ia->separators.page)
- prepare_separators_page (ia);
- else if (page == ia->formats.page)
- prepare_formats_page (ia);
-
- gtk_widget_show (ia->asst.reset_button);
- if (page == ia->formats.page)
- gtk_widget_show (ia->asst.paste_button);
- else
- gtk_widget_hide (ia->asst.paste_button);
-}
-
-/* Called when the Cancel button in the assistant is clicked. */
-static void
-on_cancel (GtkAssistant *assistant, struct import_assistant *ia)
-{
- close_assistant (ia, GTK_RESPONSE_CANCEL);
-}
-
-/* Called when the Apply button on the last page of the assistant
- is clicked. */
-static void
-on_close (GtkAssistant *assistant, struct import_assistant *ia)
-{
- close_assistant (ia, GTK_RESPONSE_APPLY);
-}
-
-/* Called when the Paste button on the last page of the assistant
- is clicked. */
-static void
-on_paste (GtkButton *button, struct import_assistant *ia)
-{
- close_assistant (ia, PSPPIRE_RESPONSE_PASTE);
-}
-
-/* Called when the Reset button is clicked. */
-static void
-on_reset (GtkButton *button, struct import_assistant *ia)
-{
- gint page_num = gtk_assistant_get_current_page (ia->asst.assistant);
- GtkWidget *page = gtk_assistant_get_nth_page (ia->asst.assistant, page_num);
-
- if (page == ia->intro.page)
- reset_intro_page (ia);
- else if (page == ia->first_line.page)
- reset_first_line_page (ia);
- else if (page == ia->separators.page)
- reset_separators_page (ia);
- else if (page == ia->formats.page)
- reset_formats_page (ia);
-}
-
-/* Causes the assistant to close, returning RESPONSE for
- interpretation by text_data_import_assistant. */
-static void
-close_assistant (struct import_assistant *ia, int response)
-{
- ia->asst.response = response;
- g_main_loop_quit (ia->asst.main_loop);
- gtk_widget_hide (GTK_WIDGET (ia->asst.assistant));
-}
-\f
-/* The "intro" page of the assistant. */
-
-static void on_intro_amount_changed (struct import_assistant *);
-
-/* Initializes IA's intro substructure. */
-static void
-init_intro_page (struct import_assistant *ia)
-{
- GtkBuilder *builder = ia->asst.builder;
- struct intro_page *p = &ia->intro;
- struct string s;
- GtkWidget *hbox_n_cases ;
- GtkWidget *hbox_percent ;
- GtkWidget *table ;
-
-
- p->n_cases_spin = gtk_spin_button_new_with_range (0, INT_MAX, 100);
-
- hbox_n_cases = psppire_scanf_new (_("Only the first %4d cases"), &p->n_cases_spin);
-
- table = get_widget_assert (builder, "button-table");
-
- gtk_table_attach_defaults (GTK_TABLE (table), hbox_n_cases,
- 1, 2,
- 1, 2);
-
- p->percent_spin = gtk_spin_button_new_with_range (0, 100, 10);
-
- hbox_percent = psppire_scanf_new (_("Only the first %3d %% of file (approximately)"), &p->percent_spin);
-
- gtk_table_attach_defaults (GTK_TABLE (table), hbox_percent,
- 1, 2,
- 2, 3);
-
- p->page = add_page_to_assistant (ia, get_widget_assert (builder, "Intro"),
- GTK_ASSISTANT_PAGE_INTRO);
-
- p->all_cases_button = get_widget_assert (builder, "import-all-cases");
- p->n_cases_button = get_widget_assert (builder, "import-n-cases");
-
- p->percent_button = get_widget_assert (builder, "import-percent");
-
- g_signal_connect_swapped (p->all_cases_button, "toggled",
- G_CALLBACK (on_intro_amount_changed), ia);
- g_signal_connect_swapped (p->n_cases_button, "toggled",
- G_CALLBACK (on_intro_amount_changed), ia);
- g_signal_connect_swapped (p->percent_button, "toggled",
- G_CALLBACK (on_intro_amount_changed), ia);
-
- on_intro_amount_changed (ia);
-
- ds_init_empty (&s);
- ds_put_cstr (&s, _("This assistant will guide you through the process of "
- "importing data into PSPP from a text file with one line "
- "per case, in which fields are separated by tabs, "
- "commas, or other delimiters.\n\n"));
- if (ia->file.total_is_exact)
- ds_put_format (
- &s, ngettext ("The selected file contains %zu line of text. ",
- "The selected file contains %zu lines of text. ",
- ia->file.line_cnt),
- ia->file.line_cnt);
- else if (ia->file.total_lines > 0)
{
- ds_put_format (
- &s, ngettext (
- "The selected file contains approximately %lu line of text. ",
- "The selected file contains approximately %lu lines of text. ",
- ia->file.total_lines),
- ia->file.total_lines);
- ds_put_format (
- &s, ngettext (
- "Only the first %zu line of the file will be shown for "
- "preview purposes in the following screens. ",
- "Only the first %zu lines of the file will be shown for "
- "preview purposes in the following screens. ",
- ia->file.line_cnt),
- ia->file.line_cnt);
- }
- ds_put_cstr (&s, _("You may choose below how much of the file should "
- "actually be imported."));
- gtk_label_set_text (GTK_LABEL (get_widget_assert (builder, "intro-label")),
- ds_cstr (&s));
- ds_destroy (&s);
-}
-
-/* Resets IA's intro page to its initial state. */
-static void
-reset_intro_page (struct import_assistant *ia)
-{
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ia->intro.all_cases_button),
- true);
-}
-
-/* Called when one of the radio buttons is clicked. */
-static void
-on_intro_amount_changed (struct import_assistant *ia)
-{
- struct intro_page *p = &ia->intro;
-
- gtk_widget_set_sensitive (p->n_cases_spin,
- gtk_toggle_button_get_active (
- GTK_TOGGLE_BUTTON (p->n_cases_button)));
-
- gtk_widget_set_sensitive (p->percent_spin,
- gtk_toggle_button_get_active (
- GTK_TOGGLE_BUTTON (p->percent_button)));
-}
-\f
-/* The "first line" page of the assistant. */
-
-static PsppSheetView *create_lines_tree_view (GtkContainer *parent_window,
- struct import_assistant *);
-static void on_first_line_change (PsppSheetSelection *,
- struct import_assistant *);
-static void on_variable_names_cb_toggle (GtkToggleButton *,
- struct import_assistant *);
-static void set_first_line (struct import_assistant *);
-static void get_first_line (struct import_assistant *);
-
-/* Initializes IA's first_line substructure. */
-static void
-init_first_line_page (struct import_assistant *ia)
-{
- struct first_line_page *p = &ia->first_line;
- GtkBuilder *builder = ia->asst.builder;
-
- p->page = add_page_to_assistant (ia, get_widget_assert (builder, "FirstLine"),
- GTK_ASSISTANT_PAGE_CONTENT);
- gtk_widget_destroy (get_widget_assert (builder, "first-line"));
- p->tree_view = create_lines_tree_view (
- GTK_CONTAINER (get_widget_assert (builder, "first-line-scroller")), ia);
- p->variable_names_cb = get_widget_assert (builder, "variable-names");
- pspp_sheet_selection_set_mode (
- pspp_sheet_view_get_selection (PSPP_SHEET_VIEW (p->tree_view)),
- PSPP_SHEET_SELECTION_BROWSE);
- pspp_sheet_view_set_rubber_banding (PSPP_SHEET_VIEW (p->tree_view), TRUE);
- set_first_line (ia);
- g_signal_connect (pspp_sheet_view_get_selection (PSPP_SHEET_VIEW (p->tree_view)),
- "changed", G_CALLBACK (on_first_line_change), ia);
- g_signal_connect (p->variable_names_cb, "toggled",
- G_CALLBACK (on_variable_names_cb_toggle), ia);
-}
-
-/* Resets the first_line page to its initial content. */
-static void
-reset_first_line_page (struct import_assistant *ia)
-{
- ia->first_line.skip_lines = 0;
- ia->first_line.variable_names = false;
- set_first_line (ia);
-}
+ syntax_gen_pspp (&s,
+ "GET DATA"
+ "\n /TYPE=TXT"
+ "\n /FILE=%sq\n",
+ ia->file.file_name);
+ if (ia->file.encoding && strcmp (ia->file.encoding, "Auto"))
+ syntax_gen_pspp (&s, " /ENCODING=%sq\n", ia->file.encoding);
-static void
-render_line (PsppSheetViewColumn *tree_column,
- GtkCellRenderer *cell,
- GtkTreeModel *tree_model,
- GtkTreeIter *iter,
- gpointer data)
-{
- gint row = empty_list_store_iter_to_row (iter);
- struct string *lines;
- lines = g_object_get_data (G_OBJECT (tree_model), "lines");
- g_return_if_fail (lines != NULL);
+ intro_append_syntax (ia->intro, &s);
- g_object_set (cell, "text", ds_cstr (&lines[row]), NULL);
-}
+ ds_put_cstr (&s,
+ " /ARRANGEMENT=DELIMITED\n"
+ " /DELCASE=LINE\n");
-/* Creates and returns a tree view that contains each of the
- lines in IA's file as a row. */
-static PsppSheetView *
-create_lines_tree_view (GtkContainer *parent, struct import_assistant *ia)
-{
- PsppSheetView *tree_view;
- PsppSheetViewColumn *column;
- size_t max_line_length;
- gint content_width, header_width;
- size_t i;
- const gchar *title = _("Text");
-
- make_tree_view (ia, 0, &tree_view);
-
- column = pspp_sheet_view_column_new_with_attributes (
- title, ia->asst.fixed_renderer, (void *) NULL);
- pspp_sheet_view_column_set_cell_data_func (column, ia->asst.fixed_renderer,
- render_line, NULL, NULL);
- pspp_sheet_view_column_set_resizable (column, TRUE);
-
- max_line_length = 0;
- for (i = 0; i < ia->file.line_cnt; i++)
- {
- size_t w = ds_length (&ia->file.lines[i]);
- max_line_length = MAX (max_line_length, w);
+ first_line_append_syntax (ia, &s);
+ separators_append_syntax (ia, &s);
+ formats_append_syntax (ia, &s);
+ apply_dict (ia->dict, &s);
}
- content_width = get_monospace_width (tree_view, ia->asst.fixed_renderer,
- max_line_length);
- header_width = get_string_width (tree_view, ia->asst.prop_renderer, title);
- pspp_sheet_view_column_set_fixed_width (column, MAX (content_width,
- header_width));
- pspp_sheet_view_append_column (tree_view, column);
-
- gtk_container_add (parent, GTK_WIDGET (tree_view));
- gtk_widget_show (GTK_WIDGET (tree_view));
-
- return tree_view;
-}
-
-/* Called when the line selected in the first_line tree view
- changes. */
-static void
-on_first_line_change (PsppSheetSelection *selection UNUSED,
- struct import_assistant *ia)
-{
- get_first_line (ia);
-}
-
-/* Called when the checkbox that indicates whether variable
- names are in the row above the first line is toggled. */
-static void
-on_variable_names_cb_toggle (GtkToggleButton *variable_names_cb UNUSED,
- struct import_assistant *ia)
-{
- get_first_line (ia);
+ return ds_cstr (&s);
}
-/* Sets the widgets to match IA's first_line substructure. */
-static void
-set_first_line (struct import_assistant *ia)
-{
- GtkTreePath *path;
- path = gtk_tree_path_new_from_indices (ia->first_line.skip_lines, -1);
- pspp_sheet_view_set_cursor (PSPP_SHEET_VIEW (ia->first_line.tree_view),
- path, NULL, false);
- gtk_tree_path_free (path);
-
- gtk_toggle_button_set_active (
- GTK_TOGGLE_BUTTON (ia->first_line.variable_names_cb),
- ia->first_line.variable_names);
- gtk_widget_set_sensitive (ia->first_line.variable_names_cb,
- ia->first_line.skip_lines > 0);
-}
-
-/* Sets IA's first_line substructure to match the widgets. */
-static void
-get_first_line (struct import_assistant *ia)
-{
- PsppSheetSelection *selection;
- GtkTreeIter iter;
- GtkTreeModel *model;
- selection = pspp_sheet_view_get_selection (ia->first_line.tree_view);
- if (pspp_sheet_selection_get_selected (selection, &model, &iter))
- {
- GtkTreePath *path = gtk_tree_model_get_path (model, &iter);
- int row = gtk_tree_path_get_indices (path)[0];
- gtk_tree_path_free (path);
-
- ia->first_line.skip_lines = row;
- ia->first_line.variable_names =
- (ia->first_line.skip_lines > 0
- && gtk_toggle_button_get_active (
- GTK_TOGGLE_BUTTON (ia->first_line.variable_names_cb)));
- }
- gtk_widget_set_sensitive (ia->first_line.variable_names_cb,
- ia->first_line.skip_lines > 0);
-}
-\f
-/* The "separators" page of the assistant. */
-
-static void revise_fields_preview (struct import_assistant *ia);
-static void choose_likely_separators (struct import_assistant *ia);
-static void find_commonest_chars (unsigned long int histogram[UCHAR_MAX + 1],
- const char *targets, const char *def,
- struct string *result);
-static void clear_fields (struct import_assistant *ia);
-static void revise_fields_preview (struct import_assistant *);
-static void set_separators (struct import_assistant *);
-static void get_separators (struct import_assistant *);
-static void on_separators_custom_entry_notify (GObject *UNUSED,
- GParamSpec *UNUSED,
- struct import_assistant *);
-static void on_separators_custom_cb_toggle (GtkToggleButton *custom_cb,
- struct import_assistant *);
-static void on_quote_combo_change (GtkComboBox *combo,
- struct import_assistant *);
-static void on_quote_cb_toggle (GtkToggleButton *quote_cb,
- struct import_assistant *);
-static void on_separator_toggle (GtkToggleButton *, struct import_assistant *);
static void render_input_cell (PsppSheetViewColumn *tree_column,
GtkCellRenderer *cell,
GtkTreeModel *model, GtkTreeIter *iter,
gpointer ia);
+
static gboolean on_query_input_tooltip (GtkWidget *widget, gint wx, gint wy,
gboolean keyboard_mode UNUSED,
GtkTooltip *tooltip,
struct import_assistant *);
-/* A common field separator and its identifying name. */
-struct separator
- {
- const char *name; /* Name (for use with get_widget_assert). */
- int c; /* Separator character. */
- };
-
-/* All the separators in the dialog box. */
-static const struct separator separators[] =
- {
- {"space", ' '},
- {"tab", '\t'},
- {"bang", '!'},
- {"colon", ':'},
- {"comma", ','},
- {"hyphen", '-'},
- {"pipe", '|'},
- {"semicolon", ';'},
- {"slash", '/'},
- };
-#define SEPARATOR_CNT (sizeof separators / sizeof *separators)
-static void
-set_quote_list (GtkComboBoxEntry *cb)
-{
- GtkListStore *list = gtk_list_store_new (1, G_TYPE_STRING);
- GtkTreeIter iter;
- gint i;
- const gchar *seperator[3] = {"'\"", "\'", "\""};
-
- for (i = 0; i < 3; i++)
- {
- const gchar *s = seperator[i];
-
- /* Add a new row to the model */
- gtk_list_store_append (list, &iter);
- gtk_list_store_set (list, &iter,
- 0, s,
- -1);
-
- }
-
- gtk_combo_box_set_model (GTK_COMBO_BOX (cb), GTK_TREE_MODEL (list));
- g_object_unref (list);
-
- gtk_combo_box_entry_set_text_column (cb, 0);
-}
-
-/* Initializes IA's separators substructure. */
-static void
-init_separators_page (struct import_assistant *ia)
-{
- GtkBuilder *builder = ia->asst.builder;
- struct separators_page *p = &ia->separators;
- size_t i;
-
- choose_likely_separators (ia);
-
- p->page = add_page_to_assistant (ia, get_widget_assert (builder, "Separators"),
- GTK_ASSISTANT_PAGE_CONTENT);
- p->custom_cb = get_widget_assert (builder, "custom-cb");
- p->custom_entry = get_widget_assert (builder, "custom-entry");
- p->quote_combo = get_widget_assert (builder, "quote-combo");
- p->quote_entry = GTK_ENTRY (gtk_bin_get_child (GTK_BIN (p->quote_combo)));
- p->quote_cb = get_widget_assert (builder, "quote-cb");
- p->escape_cb = get_widget_assert (builder, "escape");
-
- set_separators (ia);
- set_quote_list (GTK_COMBO_BOX_ENTRY (p->quote_combo));
- p->fields_tree_view = PSPP_SHEET_VIEW (get_widget_assert (builder, "fields"));
- g_signal_connect (p->quote_combo, "changed",
- G_CALLBACK (on_quote_combo_change), ia);
- g_signal_connect (p->quote_cb, "toggled",
- G_CALLBACK (on_quote_cb_toggle), ia);
- g_signal_connect (p->custom_entry, "notify::text",
- G_CALLBACK (on_separators_custom_entry_notify), ia);
- g_signal_connect (p->custom_cb, "toggled",
- G_CALLBACK (on_separators_custom_cb_toggle), ia);
- for (i = 0; i < SEPARATOR_CNT; i++)
- g_signal_connect (get_widget_assert (builder, separators[i].name),
- "toggled", G_CALLBACK (on_separator_toggle), ia);
- g_signal_connect (p->escape_cb, "toggled",
- G_CALLBACK (on_separator_toggle), ia);
-}
-
-/* Frees IA's separators substructure. */
-static void
-destroy_separators_page (struct import_assistant *ia)
-{
- struct separators_page *s = &ia->separators;
-
- ds_destroy (&s->separators);
- ds_destroy (&s->quotes);
- clear_fields (ia);
-}
-
-/* Called just before the separators page becomes visible in the
- assistant. */
-static void
-prepare_separators_page (struct import_assistant *ia)
-{
- revise_fields_preview (ia);
-}
-
-/* Called when the Reset button is clicked on the separators
- page, resets the separators to the defaults. */
-static void
-reset_separators_page (struct import_assistant *ia)
-{
- choose_likely_separators (ia);
- set_separators (ia);
-}
-
-/* Frees and clears the column data in IA's separators
- substructure. */
-static void
-clear_fields (struct import_assistant *ia)
-{
- struct separators_page *s = &ia->separators;
-
- if (s->column_cnt > 0)
- {
- struct column *col;
- size_t row;
-
- for (row = 0; row < ia->file.line_cnt; row++)
- {
- const struct string *line = &ia->file.lines[row];
- const char *line_start = ds_data (line);
- const char *line_end = ds_end (line);
-
- for (col = s->columns; col < &s->columns[s->column_cnt]; col++)
- {
- char *s = ss_data (col->contents[row]);
- if (!(s >= line_start && s <= line_end))
- ss_dealloc (&col->contents[row]);
- }
- }
-
- for (col = s->columns; col < &s->columns[s->column_cnt]; col++)
- {
- free (col->name);
- free (col->contents);
- }
-
- free (s->columns);
- s->columns = NULL;
- s->column_cnt = 0;
- }
-}
-
-/* Breaks the file data in IA into columns based on the
- separators set in IA's separators substructure. */
-static void
-split_fields (struct import_assistant *ia)
-{
- struct separators_page *s = &ia->separators;
- size_t columns_allocated;
- bool space_sep;
- size_t row;
-
- clear_fields (ia);
-
- /* Is space in the set of separators? */
- space_sep = ss_find_byte (ds_ss (&s->separators), ' ') != SIZE_MAX;
-
- /* Split all the lines, not just those from
- ia->first_line.skip_lines on, so that we split the line that
- contains variables names if ia->first_line.variable_names is
- true. */
- columns_allocated = 0;
- for (row = 0; row < ia->file.line_cnt; row++)
- {
- struct string *line = &ia->file.lines[row];
- struct substring text = ds_ss (line);
- size_t column_idx;
-
- for (column_idx = 0; ; column_idx++)
- {
- struct substring field;
- struct column *column;
-
- if (space_sep)
- ss_ltrim (&text, ss_cstr (" "));
- if (ss_is_empty (text))
- {
- if (column_idx != 0)
- break;
- field = text;
- }
- else if (!ds_is_empty (&s->quotes)
- && ds_find_byte (&s->quotes, text.string[0]) != SIZE_MAX)
- {
- int quote = ss_get_byte (&text);
- if (!s->escape)
- ss_get_until (&text, quote, &field);
- else
- {
- struct string s;
- int c;
-
- ds_init_empty (&s);
- while ((c = ss_get_byte (&text)) != EOF)
- if (c != quote)
- ds_put_byte (&s, c);
- else if (ss_match_byte (&text, quote))
- ds_put_byte (&s, quote);
- else
- break;
- field = ds_ss (&s);
- }
- }
- else
- ss_get_bytes (&text, ss_cspan (text, ds_ss (&s->separators)),
- &field);
-
- if (column_idx >= s->column_cnt)
- {
- struct column *column;
-
- if (s->column_cnt >= columns_allocated)
- s->columns = x2nrealloc (s->columns, &columns_allocated,
- sizeof *s->columns);
- column = &s->columns[s->column_cnt++];
- column->name = NULL;
- column->width = 0;
- column->contents = xcalloc (ia->file.line_cnt,
- sizeof *column->contents);
- }
- column = &s->columns[column_idx];
- column->contents[row] = field;
- if (ss_length (field) > column->width)
- column->width = ss_length (field);
-
- if (space_sep)
- ss_ltrim (&text, ss_cstr (" "));
- if (ss_is_empty (text))
- break;
- if (ss_find_byte (ds_ss (&s->separators), ss_first (text))
- != SIZE_MAX)
- ss_advance (&text, 1);
- }
- }
-}
-
-/* Chooses a name for each column on the separators page */
-static void
-choose_column_names (struct import_assistant *ia)
-{
- const struct first_line_page *f = &ia->first_line;
- struct separators_page *s = &ia->separators;
- struct dictionary *dict;
- unsigned long int generated_name_count = 0;
- struct column *col;
- size_t name_row;
-
- dict = dict_create (get_default_encoding ());
- name_row = f->variable_names && f->skip_lines ? f->skip_lines : 0;
- for (col = s->columns; col < &s->columns[s->column_cnt]; col++)
- {
- char *hint, *name;
-
- hint = name_row ? ss_xstrdup (col->contents[name_row - 1]) : NULL;
- name = dict_make_unique_var_name (dict, hint, &generated_name_count);
- free (hint);
-
- col->name = name;
- dict_create_var_assert (dict, name, 0);
- }
- dict_destroy (dict);
-}
-
-/* Picks the most likely separator and quote characters based on
- IA's file data. */
-static void
-choose_likely_separators (struct import_assistant *ia)
-{
- unsigned long int histogram[UCHAR_MAX + 1] = { 0 };
- size_t row;
-
- /* Construct a histogram of all the characters used in the
- file. */
- for (row = 0; row < ia->file.line_cnt; row++)
- {
- struct substring line = ds_ss (&ia->file.lines[row]);
- size_t length = ss_length (line);
- size_t i;
- for (i = 0; i < length; i++)
- histogram[(unsigned char) line.string[i]]++;
- }
-
- find_commonest_chars (histogram, "\"'", "", &ia->separators.quotes);
- find_commonest_chars (histogram, ",;:/|!\t-", ",",
- &ia->separators.separators);
- ia->separators.escape = true;
-}
-
-/* Chooses the most common character among those in TARGETS,
- based on the frequency data in HISTOGRAM, and stores it in
- RESULT. If there is a tie for the most common character among
- those in TARGETS, the earliest character is chosen. If none
- of the TARGETS appear at all, then DEF is used as a
- fallback. */
-static void
-find_commonest_chars (unsigned long int histogram[UCHAR_MAX + 1],
- const char *targets, const char *def,
- struct string *result)
-{
- unsigned char max = 0;
- unsigned long int max_count = 0;
-
- for (; *targets != '\0'; targets++)
- {
- unsigned char c = *targets;
- unsigned long int count = histogram[c];
- if (count > max_count)
- {
- max = c;
- max_count = count;
- }
- }
- if (max_count > 0)
- {
- ds_clear (result);
- ds_put_byte (result, max);
- }
- else
- ds_assign_cstr (result, def);
-}
-
-/* Revises the contents of the fields tree view based on the
- currently chosen set of separators. */
-static void
-revise_fields_preview (struct import_assistant *ia)
-{
- GtkWidget *w;
-
- push_watch_cursor (ia);
-
- w = GTK_WIDGET (ia->separators.fields_tree_view);
- gtk_widget_destroy (w);
- get_separators (ia);
- split_fields (ia);
- choose_column_names (ia);
- ia->separators.fields_tree_view = create_data_tree_view (
- true,
- GTK_CONTAINER (get_widget_assert (ia->asst.builder, "fields-scroller")),
- ia);
-
- pop_watch_cursor (ia);
-}
-
-/* Sets the widgets to match IA's separators substructure. */
-static void
-set_separators (struct import_assistant *ia)
-{
- struct separators_page *s = &ia->separators;
- unsigned int seps;
- struct string custom;
- bool any_custom;
- bool any_quotes;
- size_t i;
-
- ds_init_empty (&custom);
- seps = 0;
- for (i = 0; i < ds_length (&s->separators); i++)
- {
- unsigned char c = ds_at (&s->separators, i);
- int j;
-
- for (j = 0; j < SEPARATOR_CNT; j++)
- {
- const struct separator *s = &separators[j];
- if (s->c == c)
- {
- seps += 1u << j;
- goto next;
- }
- }
-
- ds_put_byte (&custom, c);
- next:;
- }
-
- for (i = 0; i < SEPARATOR_CNT; i++)
- {
- const struct separator *s = &separators[i];
- GtkWidget *button = get_widget_assert (ia->asst.builder, s->name);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button),
- (seps & (1u << i)) != 0);
- }
- any_custom = !ds_is_empty (&custom);
- gtk_entry_set_text (GTK_ENTRY (s->custom_entry), ds_cstr (&custom));
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (s->custom_cb),
- any_custom);
- gtk_widget_set_sensitive (s->custom_entry, any_custom);
- ds_destroy (&custom);
-
- any_quotes = !ds_is_empty (&s->quotes);
-
- gtk_entry_set_text (s->quote_entry,
- any_quotes ? ds_cstr (&s->quotes) : "\"");
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (s->quote_cb),
- any_quotes);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (s->escape_cb),
- s->escape);
- gtk_widget_set_sensitive (s->quote_combo, any_quotes);
- gtk_widget_set_sensitive (s->escape_cb, any_quotes);
-}
-
-/* Sets IA's separators substructure to match the widgets. */
-static void
-get_separators (struct import_assistant *ia)
-{
- struct separators_page *s = &ia->separators;
- int i;
-
- ds_clear (&s->separators);
- for (i = 0; i < SEPARATOR_CNT; i++)
- {
- const struct separator *sep = &separators[i];
- GtkWidget *button = get_widget_assert (ia->asst.builder, sep->name);
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button)))
- ds_put_byte (&s->separators, sep->c);
- }
-
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (s->custom_cb)))
- ds_put_cstr (&s->separators,
- gtk_entry_get_text (GTK_ENTRY (s->custom_entry)));
-
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (s->quote_cb)))
- {
- gchar *text = gtk_combo_box_get_active_text (
- GTK_COMBO_BOX (s->quote_combo));
- ds_assign_cstr (&s->quotes, text);
- g_free (text);
- }
- else
- ds_clear (&s->quotes);
- s->escape = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (s->escape_cb));
-}
-
-/* Called when the user changes the entry field for custom
- separators. */
-static void
-on_separators_custom_entry_notify (GObject *gobject UNUSED,
- GParamSpec *arg1 UNUSED,
- struct import_assistant *ia)
-{
- revise_fields_preview (ia);
-}
-
-/* Called when the user toggles the checkbox that enables custom
- separators. */
-static void
-on_separators_custom_cb_toggle (GtkToggleButton *custom_cb,
- struct import_assistant *ia)
-{
- bool is_active = gtk_toggle_button_get_active (custom_cb);
- gtk_widget_set_sensitive (ia->separators.custom_entry, is_active);
- revise_fields_preview (ia);
-}
-
-/* Called when the user changes the selection in the combo box
- that selects a quote character. */
-static void
-on_quote_combo_change (GtkComboBox *combo, struct import_assistant *ia)
-{
- revise_fields_preview (ia);
-}
-
-/* Called when the user toggles the checkbox that enables
- quoting. */
-static void
-on_quote_cb_toggle (GtkToggleButton *quote_cb, struct import_assistant *ia)
-{
- bool is_active = gtk_toggle_button_get_active (quote_cb);
- gtk_widget_set_sensitive (ia->separators.quote_combo, is_active);
- gtk_widget_set_sensitive (ia->separators.escape_cb, is_active);
- revise_fields_preview (ia);
-}
-
-/* Called when the user toggles one of the separators
- checkboxes. */
-static void
-on_separator_toggle (GtkToggleButton *toggle UNUSED,
- struct import_assistant *ia)
-{
- revise_fields_preview (ia);
-}
/* Called to render one of the cells in the fields preview tree
view. */
column = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (tree_column),
"column-number"));
- row = empty_list_store_iter_to_row (iter) + ia->first_line.skip_lines;
- field = ia->separators.columns[column].contents[row];
+ row = empty_list_store_iter_to_row (iter) + ia->skip_lines;
+ field = ia->columns[column].contents[row];
if (field.string != NULL)
{
GValue text = {0, };
(void *) NULL);
}
+static gboolean
+get_tooltip_location (GtkWidget *widget, gint wx, gint wy,
+ const struct import_assistant *ia,
+ size_t *row, size_t *column);
+
+
/* Called to render a tooltip on one of the cells in the fields
preview tree view. */
static gboolean
if (!get_tooltip_location (widget, wx, wy, ia, &row, &column))
return FALSE;
- if (ia->separators.columns[column].contents[row].string != NULL)
+ if (ia->columns[column].contents[row].string != NULL)
return FALSE;
gtk_tooltip_set_text (tooltip,
"to fill in this field."));
return TRUE;
}
-\f
-/* The "formats" page of the assistant. */
-static void on_variable_change (PsppireDict *dict, int idx,
- struct import_assistant *);
-static void clear_modified_vars (struct import_assistant *);
-
-/* Initializes IA's formats substructure. */
-static void
-init_formats_page (struct import_assistant *ia)
-{
- GtkBuilder *builder = ia->asst.builder;
- struct formats_page *p = &ia->formats;
-
- p->page = add_page_to_assistant (ia, get_widget_assert (builder, "Formats"),
- GTK_ASSISTANT_PAGE_CONFIRM);
- p->data_tree_view = PSPP_SHEET_VIEW (get_widget_assert (builder, "data"));
- p->modified_vars = NULL;
- p->modified_var_cnt = 0;
- p->dict = NULL;
-}
-
-/* Frees IA's formats substructure. */
-static void
-destroy_formats_page (struct import_assistant *ia)
-{
- struct formats_page *p = &ia->formats;
-
- if (p->psppire_dict != NULL)
- {
- dict_destroy (p->psppire_dict->dict);
- g_object_unref (p->psppire_dict);
- }
- clear_modified_vars (ia);
-}
-
-/* Called just before the formats page of the assistant is
- displayed. */
-static void
-prepare_formats_page (struct import_assistant *ia)
-{
- struct dictionary *dict;
- PsppireDict *psppire_dict;
- GtkBin *vars_scroller;
- GtkWidget *old_var_sheet;
- PsppireVarSheet *var_sheet;
- struct separators_page *s = &ia->separators;
- struct formats_page *p = &ia->formats;
- struct fmt_guesser *fg;
- unsigned long int number = 0;
- size_t column_idx;
-
- push_watch_cursor (ia);
-
- dict = dict_create (get_default_encoding ());
- fg = fmt_guesser_create ();
- for (column_idx = 0; column_idx < s->column_cnt; column_idx++)
- {
- struct variable *modified_var;
-
- modified_var = (column_idx < p->modified_var_cnt
- ? p->modified_vars[column_idx] : NULL);
- if (modified_var == NULL)
- {
- struct column *column = &s->columns[column_idx];
- struct variable *var;
- struct fmt_spec format;
- char *name;
- size_t row;
-
- /* Choose variable name. */
- name = dict_make_unique_var_name (dict, column->name, &number);
-
- /* Choose variable format. */
- fmt_guesser_clear (fg);
- for (row = ia->first_line.skip_lines; row < ia->file.line_cnt; row++)
- fmt_guesser_add (fg, column->contents[row]);
- fmt_guesser_guess (fg, &format);
- fmt_fix_input (&format);
-
- /* Create variable. */
- var = dict_create_var_assert (dict, name, fmt_var_width (&format));
- var_set_both_formats (var, &format);
-
- free (name);
- }
- else
- {
- char *name;
-
- name = dict_make_unique_var_name (dict, var_get_name (modified_var),
- &number);
- dict_clone_var_as_assert (dict, modified_var, name);
- free (name);
- }
- }
- fmt_guesser_destroy (fg);
-
- psppire_dict = psppire_dict_new_from_dict (dict);
- g_signal_connect (psppire_dict, "variable_changed",
- G_CALLBACK (on_variable_change), ia);
- ia->formats.dict = dict;
- ia->formats.psppire_dict = psppire_dict;
-
- /* XXX: PsppireVarStore doesn't hold a reference to
- psppire_dict for now, but it should. After it does, we
- should g_object_ref the psppire_dict here, since we also
- hold a reference via ia->formats.dict. */
- var_sheet = PSPPIRE_VAR_SHEET (psppire_var_sheet_new ());
- g_object_set (var_sheet,
- "dictionary", psppire_dict,
- "may-create-vars", FALSE,
- "may-delete-vars", FALSE,
- "format-use", FMT_FOR_INPUT,
- "enable-grid-lines", PSPP_SHEET_VIEW_GRID_LINES_BOTH,
- (void *) NULL);
-
- vars_scroller = GTK_BIN (get_widget_assert (ia->asst.builder, "vars-scroller"));
- old_var_sheet = gtk_bin_get_child (vars_scroller);
- if (old_var_sheet != NULL)
- gtk_widget_destroy (old_var_sheet);
- gtk_container_add (GTK_CONTAINER (vars_scroller), GTK_WIDGET (var_sheet));
- gtk_widget_show (GTK_WIDGET (var_sheet));
-
- gtk_widget_destroy (GTK_WIDGET (ia->formats.data_tree_view));
- ia->formats.data_tree_view = create_data_tree_view (
- false,
- GTK_CONTAINER (get_widget_assert (ia->asst.builder, "data-scroller")),
- ia);
-
- pop_watch_cursor (ia);
-}
-
-/* Clears the set of user-modified variables from IA's formats
- substructure. This discards user modifications to variable
- formats, thereby causing formats to revert to their
- defaults. */
-static void
-clear_modified_vars (struct import_assistant *ia)
-{
- struct formats_page *p = &ia->formats;
- size_t i;
-
- for (i = 0; i < p->modified_var_cnt; i++)
- var_destroy (p->modified_vars[i]);
- free (p->modified_vars);
- p->modified_vars = NULL;
- p->modified_var_cnt = 0;
-}
-
-/* Resets the formats page to its defaults, discarding user
- modifications. */
-static void
-reset_formats_page (struct import_assistant *ia)
-{
- clear_modified_vars (ia);
- prepare_formats_page (ia);
-}
-
-/* Called when the user changes one of the variables in the
- dictionary. */
-static void
-on_variable_change (PsppireDict *dict, int dict_idx,
- struct import_assistant *ia)
-{
- struct formats_page *p = &ia->formats;
- PsppSheetView *tv = ia->formats.data_tree_view;
- gint column_idx = dict_idx + 1;
-
- push_watch_cursor (ia);
-
- /* Remove previous column and replace with new column. */
- pspp_sheet_view_remove_column (tv, pspp_sheet_view_get_column (tv, column_idx));
- pspp_sheet_view_insert_column (tv, make_data_column (ia, tv, false, dict_idx),
- column_idx);
-
- /* Save a copy of the modified variable in modified_vars, so
- that its attributes will be preserved if we back up to the
- previous page with the Prev button and then come back
- here. */
- if (dict_idx >= p->modified_var_cnt)
- {
- size_t i;
- p->modified_vars = xnrealloc (p->modified_vars, dict_idx + 1,
- sizeof *p->modified_vars);
- for (i = 0; i <= dict_idx; i++)
- p->modified_vars[i] = NULL;
- p->modified_var_cnt = dict_idx + 1;
- }
- if (p->modified_vars[dict_idx])
- var_destroy (p->modified_vars[dict_idx]);
- p->modified_vars[dict_idx]
- = var_clone (psppire_dict_get_variable (dict, dict_idx));
-
- pop_watch_cursor (ia);
-}
/* Parses the contents of the field at (ROW,COLUMN) according to
its variable format. If OUTPUTP is non-null, then *OUTPUTP
size_t row, size_t column,
char **outputp, char **tooltipp)
{
- struct substring field;
- union value val;
- struct variable *var;
const struct fmt_spec *in;
struct fmt_spec out;
char *tooltip;
bool ok;
- field = ia->separators.columns[column].contents[row];
- var = dict_get_var (ia->formats.dict, column);
+ struct substring field = ia->columns[column].contents[row];
+ struct variable *var = dict_get_var (ia->dict, column);
+ union value val;
+
value_init (&val, var_get_width (var));
in = var_get_print_format (var);
out = fmt_for_output_from_input (in);
char *error;
error = data_in (field, "UTF-8", in->type, &val, var_get_width (var),
- dict_get_encoding (ia->formats.dict));
+ dict_get_encoding (ia->dict));
if (error != NULL)
{
tooltip = xasprintf (_("Cannot parse field content `%.*s' as "
}
if (outputp != NULL)
{
- *outputp = data_out (&val, dict_get_encoding (ia->formats.dict), &out);
+ *outputp = data_out (&val, dict_get_encoding (ia->dict), &out);
}
value_destroy (&val, var_get_width (var));
ok = parse_field (ia,
(empty_list_store_iter_to_row (iter)
- + ia->first_line.skip_lines),
+ + ia->skip_lines),
GPOINTER_TO_INT (g_object_get_data (G_OBJECT (tree_column),
"column-number")),
&output, NULL);
preview tree view. */
static gboolean
on_query_output_tooltip (GtkWidget *widget, gint wx, gint wy,
- gboolean keyboard_mode UNUSED,
- GtkTooltip *tooltip, struct import_assistant *ia)
+ gboolean keyboard_mode UNUSED,
+ GtkTooltip *tooltip, struct import_assistant *ia)
{
size_t row, column;
char *text;
return FALSE;
pspp_sheet_view_convert_widget_to_bin_window_coords (tree_view,
- wx, wy, &bx, &by);
+ wx, wy, &bx, &by);
if (!pspp_sheet_view_get_path_at_pos (tree_view, bx, by,
&path, &tree_column, NULL, NULL))
return FALSE;
if (!ok)
return FALSE;
- *row = empty_list_store_iter_to_row (&iter) + ia->first_line.skip_lines;
+ *row = empty_list_store_iter_to_row (&iter) + ia->skip_lines;
return TRUE;
}
-static void
+void
make_tree_view (const struct import_assistant *ia,
size_t first_line,
PsppSheetView **tree_view)
*tree_view = PSPP_SHEET_VIEW (pspp_sheet_view_new ());
pspp_sheet_view_set_grid_lines (*tree_view, PSPP_SHEET_VIEW_GRID_LINES_BOTH);
model = GTK_TREE_MODEL (psppire_empty_list_store_new (
- ia->file.line_cnt - first_line));
+ ia->file.line_cnt - first_line));
g_object_set_data (G_OBJECT (model), "lines", ia->file.lines + first_line);
g_object_set_data (G_OBJECT (model), "first-line",
GINT_TO_POINTER (first_line));
pspp_sheet_view_append_column (treeview, column);
}
-static gint
+gint
get_monospace_width (PsppSheetView *treeview, GtkCellRenderer *renderer,
size_t char_cnt)
{
return width;
}
-static gint
+gint
get_string_width (PsppSheetView *treeview, GtkCellRenderer *renderer,
const char *string)
{
return width;
}
-static PsppSheetViewColumn *
+PsppSheetViewColumn *
make_data_column (struct import_assistant *ia, PsppSheetView *tree_view,
bool input, gint dict_idx)
{
char *name;
if (input)
- column = &ia->separators.columns[dict_idx];
+ column = &ia->columns[dict_idx];
else
- var = dict_get_var (ia->formats.dict, dict_idx);
+ var = dict_get_var (ia->dict, dict_idx);
name = escape_underscores (input ? column->name : var_get_name (var));
char_cnt = input ? column->width : var_get_print_format (var)->w;
GINT_TO_POINTER (dict_idx));
pspp_sheet_view_column_set_title (tree_column, name);
pspp_sheet_view_column_pack_start (tree_column, ia->asst.fixed_renderer,
- FALSE);
+ FALSE);
pspp_sheet_view_column_set_cell_data_func (
tree_column, ia->asst.fixed_renderer,
input ? render_input_cell : render_output_cell, ia, NULL);
pspp_sheet_view_column_set_fixed_width (tree_column, MAX (content_width,
- header_width));
- pspp_sheet_view_column_set_resizable (tree_column, TRUE);
+ header_width));
free (name);
return tree_column;
}
-static PsppSheetView *
+PsppSheetView *
create_data_tree_view (bool input, GtkContainer *parent,
struct import_assistant *ia)
{
PsppSheetView *tree_view;
gint i;
- make_tree_view (ia, ia->first_line.skip_lines, &tree_view);
+ make_tree_view (ia, ia->skip_lines, &tree_view);
pspp_sheet_selection_set_mode (pspp_sheet_view_get_selection (tree_view),
- PSPP_SHEET_SELECTION_NONE);
+ PSPP_SHEET_SELECTION_NONE);
- for (i = 0; i < ia->separators.column_cnt; i++)
+ for (i = 0; i < ia->column_cnt; i++)
pspp_sheet_view_append_column (tree_view,
- make_data_column (ia, tree_view, input, i));
+ make_data_column (ia, tree_view, input, i));
g_object_set (G_OBJECT (tree_view), "has-tooltip", TRUE, (void *) NULL);
g_signal_connect (tree_view, "query-tooltip",
G_CALLBACK (input ? on_query_input_tooltip
: on_query_output_tooltip), ia);
+
gtk_container_add (parent, GTK_WIDGET (tree_view));
gtk_widget_show (GTK_WIDGET (tree_view));
/* Increments the "watch cursor" level, setting the cursor for
the assistant window to a watch face to indicate to the user
that the ongoing operation may take some time. */
-static void
+void
push_watch_cursor (struct import_assistant *ia)
{
if (++ia->asst.watch_cursor == 1)
/* Decrements the "watch cursor" level. If the level reaches
zero, the cursor is reset to its default shape. */
-static void
+void
pop_watch_cursor (struct import_assistant *ia)
{
if (--ia->asst.watch_cursor == 0)
/* PSPPIRE - a graphical user interface for PSPP.
- Copyright (C) 2008, 2010, 2011 Free Software Foundation
+ Copyright (C) 2008, 2010, 2011, 2013 Free Software Foundation
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
#include <glib-object.h>
#include "ui/gui/psppire-data-window.h"
+#include "data/spreadsheet-reader.h"
+
+#include "libpspp/str.h"
+
+enum { MAX_PREVIEW_LINES = 1000 }; /* Max number of lines to read. */
+
+struct assist_page
+{
+ GtkWidget *page;
+};
+
+/* The file to be imported. */
+struct file
+ {
+ char *file_name; /* File name. */
+
+ /* Relevant only for text files */
+
+ gchar *encoding; /* Encoding. */
+ unsigned long int total_lines; /* Number of lines in file. */
+ bool total_is_exact; /* Is total_lines exact (or an estimate)? */
+
+ /* The first several lines of the file. */
+ struct string *lines;
+ size_t line_cnt;
+ };
+
+/* The main body of the GTK+ assistant and related data. */
+struct assistant
+ {
+ GtkBuilder *builder;
+ GtkAssistant *assistant;
+ GMainLoop *main_loop;
+ bool loop_done;
+ GtkWidget *paste_button;
+ GtkWidget *reset_button;
+ int response;
+ int watch_cursor;
+
+ GtkCellRenderer *prop_renderer;
+ GtkCellRenderer *fixed_renderer;
+ };
+
+struct import_assistant
+ {
+ struct file file;
+ struct assistant asst;
+
+ struct intro_page *intro;
+ struct sheet_spec_page *sheet_spec;
+ struct first_line_page *first_line;
+ struct separators_page *separators;
+ struct formats_page *formats;
+
+ /* The columns produced. */
+ struct column *columns; /* Information about each column. */
+ size_t column_cnt; /* Number of columns. */
+
+ int skip_lines; /* Number of initial lines to skip? */
+ bool variable_names; /* Variable names above first line of data? */
+ struct dictionary *dict;
+
+ struct spreadsheet *spreadsheet;
+ };
+
+struct column
+ {
+ /* Variable name for this column. This is the variable name
+ used on the separators page; it can be overridden by the
+ user on the formats page. */
+ char *name;
+
+ /* Maximum length of any row in this column. */
+ size_t width;
+
+ /* Contents of this column: contents[row] is the contents for
+ the given row.
+
+ A null substring indicates a missing column for that row
+ (because the line contains an insufficient number of
+ separators).
+
+ contents[] elements may be substrings of the lines[]
+ strings that represent the whole lines of the file, to
+ save memory. Other elements are dynamically allocated
+ with ss_alloc_substring. */
+ struct substring *contents;
+ };
+
+
+GtkWidget * add_page_to_assistant (struct import_assistant *ia,
+ GtkWidget *page, GtkAssistantPageType type);
void text_data_import_assistant (PsppireDataWindow *);
+/* FIXME: Should this be private to first line page ? */
+void make_tree_view (const struct import_assistant *ia,
+ size_t first_line,
+ PsppSheetView **tree_view);
+
+gint get_monospace_width (PsppSheetView *, GtkCellRenderer *,
+ size_t char_cnt);
+gint get_string_width (PsppSheetView *, GtkCellRenderer *,
+ const char *string);
+
+
+
+void push_watch_cursor (struct import_assistant *);
+void pop_watch_cursor (struct import_assistant *);
+
+
+PsppSheetView *create_data_tree_view (bool input, GtkContainer *parent,
+ struct import_assistant *);
+
+PsppSheetViewColumn *make_data_column (struct import_assistant *,
+ PsppSheetView *, bool input,
+ gint column_idx);
+
+
+void update_assistant (struct import_assistant *ia);
+
+bool init_file (struct import_assistant *ia, GtkWindow *parent_window);
+void destroy_file (struct import_assistant *ia);
+
+void prepare_sheet_spec_page (struct import_assistant *ia);
+void reset_sheet_spec_page (struct import_assistant *);
+void post_sheet_spec_page (struct import_assistant *ia);
+
+void prepare_first_line_page (struct import_assistant *ia);
+void reset_first_line_page (struct import_assistant *);
+
+void reset_intro_page (struct import_assistant *ia);
+
+void prepare_separators_page (struct import_assistant *ia);
+void reset_separators_page (struct import_assistant *);
+void destroy_separators_page (struct import_assistant *ia);
+
+void prepare_formats_page (struct import_assistant *ia);
+void reset_formats_page (struct import_assistant *);
+void destroy_formats_page (struct import_assistant *ia);
+
+struct import_assistant * init_assistant (GtkWindow *);
+void destroy_assistant (struct import_assistant *);
+
+
#endif
#include <stdbool.h>
#include <stdlib.h>
+#include <string.h>
+
#include "data/settings.h"
#include "data/file-name.h"
#include "output/msglog.h"
#include "gl/error.h"
+#include "gl/localcharset.h"
#include "gl/progname.h"
#include "gl/version-etc.h"
#include "gl/xmemdup0.h"
return to;
}
+/* Return true iff the terminal appears to be an xterm with
+ UTF-8 capabilities */
+static bool
+term_is_utf8_xterm (void)
+{
+ char *s = NULL;
+
+ if ( (s = getenv ("TERM")) && (0 == strcmp ("xterm", s)) )
+ if ( (s = getenv ("XTERM_LOCALE")) )
+ return strcasestr (s, "utf8") || strcasestr (s, "utf-8");
+
+ return false;
+}
+
void
terminal_opts_done (struct terminal_opts *to, int argc, char *argv[])
{
register_output_driver (to);
if (!to->has_output_driver)
{
+ if ((0 == strcmp (locale_charset (), "UTF-8"))
+ ||
+ (term_is_utf8_xterm ()) )
+ {
+ string_map_insert (&to->options, "box", "unicode");
+ }
+
string_map_insert (&to->options, "output-file", "-");
string_map_insert (&to->options, "format", "txt");
register_output_driver (to);
/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2007, 2009, 2010, 2011, 2013 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
#include <config.h>
+#include <signal.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <stdbool.h>
+#include <stdio.h>
+
+
+#if HAVE_READLINE
+#include <readline/readline.h>
+#include <readline/history.h>
+
+static char *history_file;
+
+static char **complete_command_name (const char *, int, int);
+static char **dont_complete (const char *, int, int);
+static char *command_generator (const char *text, int state);
+
+static const bool have_readline = true;
+
+#else
+static const bool have_readline = false;
+static int rl_end;
+#endif
+
+
#include "ui/terminal/terminal-reader.h"
+#include <sys/select.h>
+#include <sys/time.h>
+#include <sys/types.h>
#include <assert.h>
#include <errno.h>
-#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
static void readline_init (void);
static void readline_done (void);
-static struct substring readline_read (enum prompt_style);
+static bool readline_read (struct substring *, enum prompt_style);
/* Display a welcoming message. */
static void
output_flush ();
ss_dealloc (&r->s);
- r->s = readline_read (prompt_style);
+ if (! readline_read (&r->s, prompt_style))
+ {
+ *buf = '\n';
+ fprintf (rl_outstream, "\n");
+ return 1;
+ }
r->offset = 0;
r->eof = ss_is_empty (r->s);
}
-#if HAVE_READLINE
-#include <readline/readline.h>
-#include <readline/history.h>
-static char *history_file;
+static int pfd[2];
+static bool sigint_received ;
+
+static void
+handler (int sig)
+{
+ rl_end = 0;
+
+ write (pfd[1], "x", 1);
+ rl_echo_signal_char (sig);
+}
+
+
+/*
+ A function similar to getc from stdio.
+ However this one may be interrupted by SIGINT.
+ If that happens it will return EOF and the global variable
+ sigint_received will be set to true.
+ */
+static int
+interruptible_getc (FILE *fp)
+{
+ int c = 0;
+ int ret = -1;
+ do
+ {
+ struct timeval timeout = {0, 50000};
+ fd_set what;
+ int max_fd = 0;
+ int fd ;
+ FD_ZERO (&what);
+ fd = fileno (fp);
+ max_fd = (max_fd > fd) ? max_fd : fd;
+ FD_SET (fd, &what);
+ fd = pfd[0];
+ max_fd = (max_fd > fd) ? max_fd : fd;
+ FD_SET (fd, &what);
+ ret = select (max_fd + 1, &what, NULL, NULL, &timeout);
+ if ( ret == -1 && errno != EINTR)
+ {
+ perror ("Select failed");
+ continue;
+ }
+
+ if (ret > 0 )
+ {
+ if (FD_ISSET (pfd[0], &what))
+ {
+ char dummy[1];
+ read (pfd[0], dummy, 1);
+ sigint_received = true;
+ return EOF;
+ }
+ }
+ }
+ while (ret <= 0);
+
+ /* This will not block! */
+ read (fileno (fp), &c, 1);
+
+ return c;
+}
-static char **complete_command_name (const char *, int, int);
-static char **dont_complete (const char *, int, int);
-static char *command_generator (const char *text, int state);
+
+
+#if HAVE_READLINE
static void
readline_init (void)
{
+ if ( 0 != pipe2 (pfd, O_NONBLOCK))
+ perror ("Cannot create pipe");
+
+ if ( SIG_ERR == signal (SIGINT, handler))
+ perror ("Cannot add signal handler");
+
+ rl_catch_signals = 0;
+ rl_getc_function = interruptible_getc;
rl_basic_word_break_characters = "\n";
using_history ();
stifle_history (500);
free (history_file);
}
-static struct substring
-readline_read (enum prompt_style style)
+/* Prompt the user for a line of input and return it in LINE.
+ Returns true if the LINE should be considered valid, false otherwise.
+ */
+static bool
+readline_read (struct substring *line, enum prompt_style style)
{
char *string;
rl_attempted_completion_function = (style == PROMPT_FIRST
? complete_command_name
: dont_complete);
+ sigint_received = false;
string = readline (readline_prompt (style));
+ if (sigint_received)
+ {
+ *line = ss_empty ();
+ return false;
+ }
+
if (string != NULL)
{
char *end;
end = strchr (string, '\0');
*end = '\n';
- return ss_buffer (string, end - string + 1);
+ *line = ss_buffer (string, end - string + 1);
}
else
- return ss_empty ();
+ *line = ss_empty ();
+
+ return true;
}
/* Returns a set of command name completions for TEXT.
name = cmd_complete (text, &cmd);
return name ? xstrdup (name) : NULL;
}
+
#else /* !HAVE_READLINE */
+
static void
readline_init (void)
{
{
}
-static struct substring
-readline_read (enum prompt_style style)
+static bool
+readline_read (struct substring *line, enum prompt_style style)
{
+ struct string string;
const char *prompt = readline_prompt (style);
- struct string line;
fputs (prompt, stdout);
fflush (stdout);
- ds_init_empty (&line);
- ds_read_line (&line, stdin, SIZE_MAX);
-
- return line.ss;
+ ds_init_empty (&string);
+ ds_read_line (&string, stdin, SIZE_MAX);
+
+ *line = string.ss;
+
+ return false;
}
#endif /* !HAVE_READLINE */
CHECK_LOCAL += tests_check
tests_check: tests/atconfig tests/atlocal $(TESTSUITE) $(check_PROGRAMS)
- $(SHELL) '$(TESTSUITE)' -C tests AUTOTEST_PATH=$(AUTOTEST_PATH) $(TESTSUITEFLAGS)
+ XTERM_LOCALE='' $(SHELL) '$(TESTSUITE)' -C tests AUTOTEST_PATH=$(AUTOTEST_PATH) $(TESTSUITEFLAGS)
CLEAN_LOCAL += tests_clean
tests_clean:
GET_KEEP_ALL([uncompressed])
GET_KEEP_ALL([compressed])
+
+dnl Test for a crash when no /TYPE was provided
+AT_SETUP([GET data no type])
+AT_DATA([get.sps], [dnl
+get data /file='anything'.
+])
+
+AT_CHECK([pspp get.sps], [1], [ignore])
+
+AT_CLEANUP
])
AT_DATA([list.sps], [dnl
DATA LIST FILE='data.txt' NOTABLE/x0 to x9 1-10.
-LIST /CASES=FROM 1 TO 25 BY 5.
+LIST /CASES=FROM 6 TO 20 BY 5.
])
AT_CHECK([pspp -o pspp.csv list.sps])
AT_CHECK([cat pspp.csv], [0], [dnl
Table: Data List
x0,x1,x2,x3,x4,x5,x6,x7,x8,x9
-7,6,7,5,3,2,4,6,6,3
2,3,9,9,6,1,9,6,7,0
2,2,8,4,5,3,4,0,8,3
6,8,2,1,5,6,7,7,4,6
-7,9,7,0,6,2,0,0,9,1
])
AT_CLEANUP
2.00,3.00,55.00
])
AT_CLEANUP
+
+dnl Tests for a bug that caused MATCH FILES to crash
+dnl with incompatible variables, especially but not
+dnl exclusively when one variable came from the active
+dnl file.
+AT_SETUP([MATCH FILES with incompatible variable types])
+AT_DATA([match-files.sps], [dnl
+DATA LIST LIST NOTABLE/name (A6) x.
+BEGIN DATA.
+al,7
+brad,8
+carl,9
+END DATA.
+SAVE OUTFILE='x.sav'.
+
+DATA LIST LIST NOTABLE/name (A7) y.
+BEGIN DATA.
+al,1
+carl,2
+dan,3
+END DATA.
+MATCH FILES/FILE='x.sav'/FILE=*/BY name.
+LIST.
+])
+AT_CHECK([pspp -O format=csv match-files.sps], [1], [dnl
+"match-files.sps:15: error: MATCH FILES: Variable name in file * has different type or width from the same variable in earlier file. In file *, name is a string variable with width 7. In an earlier file, name was a string variable with width 6."
+
+match-files.sps:16: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
+])
+AT_CLEANUP
ls -l foo.out foo2.out
AT_CHECK([test -c foo.out])
AT_CLEANUP
+
+AT_SETUP([PRINT with special line ends])
+AT_DATA([print.sps], [dnl
+FILE HANDLE lf /NAME='lf.txt' /ENDS=LF.
+FILE HANDLE crlf /NAME='crlf.txt' /ENDS=CRLF.
+DATA LIST NOTABLE /x 1.
+BEGIN DATA.
+1
+2
+3
+4
+5
+END DATA.
+PRINT OUTFILE=lf/x.
+PRINT OUTFILE=crlf/x.
+EXECUTE.
+])
+AT_CHECK([pspp -O format=csv print.sps])
+AT_CHECK([cat lf.txt], [0], [dnl
+ 1 @&t@
+ 2 @&t@
+ 3 @&t@
+ 4 @&t@
+ 5 @&t@
+])
+AT_CHECK([tr '\r' R < crlf.txt], [0], [dnl
+ 1 R
+ 2 R
+ 3 R
+ 4 R
+ 5 R
+])
+AT_CLEANUP
AT_BANNER([SPLIT FILE])
-AT_SETUP([SPLIT FILE])
+AT_SETUP([SPLIT FILE - basic test])
AT_DATA([split-file.sps], [dnl
title 'Test SPLIT FILE utility'.
2,4
])
AT_CLEANUP
+
+
+
+
+
+AT_SETUP([SPLIT FILE - vs procedures])
+AT_DATA([split-file.sps], [dnl
+
+* This test is a compendium of those procedures which might
+* have problems when run in conjunction with SPLITS.
+
+data list list /a b c q g *.
+begin data.
+1 2 3 1 0
+4 5 6 0 0
+7 8 9 1 0
+10 11 12 0 1
+13 14 15 1 1
+end data.
+
+split file by g.
+
+
+* The commented out lines are ones which currently fail.
+
+AGGREGATE outfile='foo' /break=c /X=sum(a).
+AUTORECODE variables = c into d .
+COUNT e = c (1 2 3 4 5 6 7).
+CROSSTABS a by b.
+CORRELATIONS /VARIABLES = a b.
+DELETE VARIABLES a.
+DESCRIPTIVES e .
+EXAMINE c by b.
+EXPORT outfile='xxx'.
+FACTOR /VARIABLES = b c d.
+FILTER BY c.
+FREQUENCIES b.
+GLM c BY b.
+LIST.
+LOGISTIC REGRESSION q WITH b.
+MEANS c b.
+NPAR TESTS /MCNEMAR q.
+ONEWAY c BY b.
+QUICK CLUSTER b c.
+RANK b c.
+REGRESSION /VARIABLES = c /DEPENDENT = q.
+RELIABILITY /VARIABLES = c b d.
+RENAME VARIABLES (b = bb).
+ROC bb by q(1).
+SAMPLE 0.9 .
+SAVE outfile='xx.sav'.
+SORT CASES by bb.
+T-TEST /GROUP=q(0,1) /VARIABLES=bb.
+USE ALL.
+FLIP /VARIABLES = bb, c .
+
+execute.
+finish.
+])
+
+AT_CHECK([pspp -O format=csv split-file.sps], [0],[ignore])
+
+AT_CLEANUP
\ No newline at end of file
])
AT_CLEANUP
+
+dnl AUTORECODE had a use-after-free error when TEMPORARY was in use.
+dnl Bug #32757.
+AT_SETUP([AUTORECODE with TEMPORARY])
+AT_DATA([autorecode.sps],
+ [data list /X 1-5(a) Y 7.
+begin data.
+lasdj 1
+asdfk 0
+asdfj 2
+asdfj 1
+asdfk 2
+asdfj 9
+lajks 9
+asdfk 0
+asdfk 1
+end data.
+
+temporary.
+select if y > 1.
+autorecode x y into A B/descend.
+list.
+])
+AT_CHECK([pspp -O format=csv autorecode.sps], [0],
+ [Table: Reading 1 record from INLINE.
+Variable,Record,Columns,Format
+X,1,1- 5,A5
+Y,1,7- 7,F1.0
+
+Table: Data List
+X,Y,A,B
+lasdj,1,. ,. @&t@
+asdfk,0,2.00,. @&t@
+asdfj,2,3.00,2.00
+asdfj,1,3.00,. @&t@
+asdfk,2,2.00,2.00
+asdfj,9,3.00,1.00
+lajks,9,1.00,1.00
+asdfk,0,2.00,. @&t@
+asdfk,1,2.00,. @&t@
+])
+AT_CLEANUP
,N,6,6
])
-AT_CLEANUP
\ No newline at end of file
+AT_CLEANUP
+
+dnl Checks for bug #38661.
+AT_SETUP([CORRELATIONS -- crash with WITH keyword])
+AT_DATA([correlations.sps], [dnl
+DATA LIST LIST NOTABLE /a b c d e f g h i.
+.
+BEGIN DATA.
+20 21 17 28 23 4.35 24 19 25
+28 18 29 30 23 4.55 17 23 28
+47 18 30 30 29 4.35 26 31 31
+20 7 19 22 22 4.80 24 16 27
+19 12 17 27 22 . 22 14 25
+22 9 19 30 33 5 29 30 27
+41 16 22 32 23 3.90 26 27 23
+18 18 20 26 22 5.80 17 20 39
+18 24 25 25 31 5.15 27 27 34
+19 22 26 23 37 6 41 32 27
+23 12 15 29 25 4.10 21 27 20
+21 4 28 37 31 5.65 27 18 42
+19 5 17 17 29 3.10 19 16 19
+21 17 20 35 31 . 28 30 22
+END DATA.
+
+CORRELATIONS VARIABLE=a f b WITH c g h i e d/STATISTICS=DESCRIPTIVES.
+])
+AT_CHECK([pspp -o pspp.csv correlations.sps])
+# Check the output, ignoring the actual correlations values since
+# they look pretty nonsensical to me for this input (they include NaNs).
+AT_CHECK([sed '/a,Pearson/,$s/,\([[^,]]*\),.*/,\1,.../' pspp.csv], [0], [dnl
+Table: Descriptive Statistics
+,Mean,Std. Deviation,N
+a,24.00,8.93,14.00
+f,4.73,.85,12.00
+b,14.50,6.41,14.00
+c,21.71,4.98,14.00
+g,24.86,6.09,14.00
+h,23.57,6.30,14.00
+i,27.79,6.73,14.00
+e,27.21,4.95,14.00
+d,27.93,5.23,14.00
+
+Table: Correlations
+,,c,g,h,i,e,d
+a,Pearson Correlation,...
+,Sig. (2-tailed),...
+,N,...
+f,Pearson Correlation,...
+,Sig. (2-tailed),...
+,N,...
+b,Pearson Correlation,...
+,Sig. (2-tailed),...
+,N,...
+])
+AT_CLEANUP
+AT_SETUP([MEANS empty factor spec])
+
+AT_DATA([means-bad.sps], [dnl
+data list list /outcome *.
+begin data.
+1
+2
+3
+end data.
+
+MEANS TABLES = outcome
+ BY.
+])
+
+AT_CHECK([pspp -O format=csv means-bad.sps], [1], [ignore])
+
+AT_CLEANUP
\ No newline at end of file
,Within Groups,197.600,16,12.350,,
,Total,676.550,19,,,
-Table: Multiple Comparisons
+Table: Multiple Comparisons (pigmentation)
,,,Mean Difference,,,95% Confidence Interval,
,(I) family,(J) family,(I - J),Std. Error,Sig.,Lower Bound,Upper Bound
LSD,1.000,2.000,-7.400,2.223,.004,-12.112,-2.688
,Within Groups,23.600,12,1.967,,
,Total,43.733,14,,,
-Table: Multiple Comparisons
+Table: Multiple Comparisons (libido)
,,,Mean Difference,,,95% Confidence Interval,
,(I) Dose of Viagra,(J) Dose of Viagra,(I - J),Std. Error,Sig.,Lower Bound,Upper Bound
Tukey HSD,Placebo,1 Dose,-1.000,.887,.516,-3.366,1.366
,Within Groups,41.6000,16,2.6000,,
,Total,96.5500,19,,,
-Table: Multiple Comparisons
+Table: Multiple Comparisons (score)
,,,Mean Difference,,,95% Confidence Interval,
,(I) program,(J) program,(I - J),Std. Error,Sig.,Lower Bound,Upper Bound
Šidák,1.0000,2.0000,3.0000,1.0198,.0561,-.0575,6.0575
,Within Groups,1000.100,36,27.781,,
,Total,1555.375,39,,,
-Table: Multiple Comparisons
+Table: Multiple Comparisons (Days of Use)
,,,Mean Difference,,,95% Confidence Interval,
,(I) group,(J) group,(I - J),Std. Error,Sig.,Lower Bound,Upper Bound
Scheffé,one,two,3.800,2.357,.467,-3.112,10.712
AT_CHECK([diff pspp.csv pspp-ref.csv])
+AT_CLEANUP
+
+AT_SETUP([REGRESSION with invalid syntax (and empty dataset)])
+
+AT_DATA([ss.sps], [dnl
+data list notable list / v0 to v2.
+begin data
+end data.
+
+regression /variables=v0 v1
+ /statistics r coeff anova
+ /dependent=v2
+ /method=enter v2.
+])
+
+AT_CHECK([pspp ss.sps], [1], [ignore])
+
AT_CLEANUP
AT_CHECK([pspp -O format=csv bad-syntax.sps], [1], [ignore])
AT_CLEANUP
+
+dnl Checks for a crash when bad syntax followed scale specification.
+AT_SETUP([RELIABILITY bad syntax 2])
+AT_DATA([bad-syntax.sps], [dnl
+new file.
+data list notable list /f01 f02 f03 f04 f05 f06 f07 f08 f09 f10 *.
+begin data.
+end data.
+
+* This syntax is incorrect
+reliability variables=f01 to f10/asdfj.
+])
+AT_CHECK([pspp -O format=csv bad-syntax.sps], [1], [ignore])
+AT_CLEANUP
+
+
+dnl Checks for a crash when the active file was empty. Bug #38660.
+AT_SETUP([RELIABILITY crash with no data])
+AT_DATA([reliability.sps], [dnl
+new file.
+data list notable list /f01 f02 f03 f04 f05 f06 f07 f08 f09 f10 *.
+begin data.
+end data.
+
+reliability variables=f01 to f10.
+])
+AT_CHECK([pspp -O format=csv reliability.sps], [0], [])
+AT_CLEANUP
+
3,4,1
])
AT_CLEANUP
+
+
+
+AT_SETUP([RECODE increased string widths])
+
+AT_DATA([recode.sps],[dnl
+data list notable list /x (a1) y (a8) z *.
+begin data.
+a a 2
+a two 2
+b three 2
+c b 2
+end data.
+
+recode x y ("a" = "first") .
+
+list.
+])
+
+AT_CHECK([pspp -O format=csv recode.sps], [1], [dnl
+"error: Cannot recode because the variable x would require a width of 5 bytes or greater, but it has a width of only 1 bytes."
+
+Table: Data List
+x,y,z
+a,a ,2.00
+a,two ,2.00
+b,three ,2.00
+c,b ,2.00
+])
+
+AT_CLEANUP
entrée
UTF-8 mode
])
+AT_CHECK([printf '\357\273\277entr\303\251e\n' | u8-istream-test read - Auto], [0], [dnl
+UTF-8 mode
+entrée
+UTF-8 mode
+])
AT_CLEANUP
AT_SETUP([read ISO-8859-1 as Auto,ISO-8859-1])
AT_KEYWORDS([u8_istream])
AT_CHECK([i18n-test supports_encodings ISO-8859-1])
buffer_size=`u8-istream-test buffer-size`
-($PERL -e "print 'x' x int($buffer_size * 2.5)"; printf 'entr\351e\n') > input
+($PERL -e 'print "xyzzy\n" x int('$buffer_size' * 2.5 / 7)'; printf 'entr\351e\n') > input
(echo "Auto mode"
- $PERL -e "print 'x' x int($buffer_size * 2.5)"
+ $PERL -e 'print "xyzzy\n" x int('$buffer_size' * 2.5 / 7)'
printf 'entr\303\251e\n') > expout
AT_CHECK([u8-istream-test read input Auto,ISO-8859-1], [0], [expout])
AT_CLEANUP
])
AT_CLEANUP
+AT_SETUP([read UTF-16 as Auto])
+AT_KEYWORDS([u8_istream])
+AT_CHECK([i18n-test supports_encodings UTF-16 UTF-16BE UTF-16LE])
+AT_CHECK([printf '\0e\0n\0t\0r\0\351\0e\0\n' | u8-istream-test read - Auto],
+ [0], [entrée
+])
+AT_CHECK([printf 'e\0n\0t\0r\0\351\0e\0\n\0' | u8-istream-test read - Auto],
+ [0], [entrée
+])
+AT_CHECK([printf '\376\377\0e\0n\0t\0r\0\351\0e\0\n' | u8-istream-test read - Auto],
+ [0], [entrée
+])
+AT_CHECK([printf '\377\376e\0n\0t\0r\0\351\0e\0\n\0' | u8-istream-test read - Auto],
+ [0], [entrée
+])
+AT_CLEANUP
+
+AT_SETUP([read UTF-32 as Auto])
+AT_KEYWORDS([u8_istream])
+AT_CHECK([i18n-test supports_encodings UTF-16 UTF-16BE UTF-16LE])
+AT_CHECK([printf '\0\0\0e\0\0\0n\0\0\0t\0\0\0r\0\0\0\351\0\0\0e\0\0\0\n' | u8-istream-test read - Auto],
+ [0], [entrée
+])
+AT_CHECK([printf 'e\0\0\0n\0\0\0t\0\0\0r\0\0\0\351\0\0\0e\0\0\0\n\0\0\0' | u8-istream-test read - Auto],
+ [0], [entrée
+])
+AT_CHECK([printf '\0\0\376\377\0\0\0e\0\0\0n\0\0\0t\0\0\0r\0\0\0\351\0\0\0e\0\0\0\n' | u8-istream-test read - Auto],
+ [0], [entrée
+])
+AT_CHECK([printf '\377\376\0\0e\0\0\0n\0\0\0t\0\0\0r\0\0\0\351\0\0\0e\0\0\0\n\0\0\0' | u8-istream-test read - Auto],
+ [0], [entrée
+])
+AT_CLEANUP
+
AT_SETUP([read EUC-JP as Auto,EUC-JP])
AT_KEYWORDS([u8_istream])
AT_CHECK([i18n-test supports_encodings EUC-JP])
])
AT_CLEANUP
+
+AT_SETUP([ASCII unicode box chars])
+
+AT_DATA([uc.sps], [dnl
+SET FORMAT=F8.4.
+DATA LIST NOTABLE LIST /x * .
+BEGIN DATA.
+1
+2
+3
+END DATA.
+
+DESCRIPTIVES X.
+])
+
+
+AT_CHECK([pspp -O box=unicode uc.sps], [0], [dnl
+Valid cases = 3; cases with missing value(s) = 0.
+╭────────╥─┬──────┬───────┬───────┬───────╮
+│Variable║N│ Mean │Std Dev│Minimum│Maximum│
+╞════════╬═╪══════╪═══════╪═══════╪═══════╡
+│x ║3│2.0000│ 1.0000│ 1.0000│ 3.0000│
+╰────────╨─┴──────┴───────┴───────┴───────╯
+])
+
+AT_CLEANUP
+-+--+--+---+
|h| The
| | su
-| | determ
-+-+ han
-|i|missing va
-| | If IN
-| | s
-+-+ user
++-+ determ
+|i| han
+| |missing va
+| |If INCLUDE
++-+ then user
|j| va
| | include
| | calculati
+-+ NOINCLUDE
|k| whic
| |
-+-+ user
-|l| va
-| | e
+| | user
++-+ va
+|l| e
+| |
| |
+-+
|m|
| |
-| |
+-+----------
+--+--+--+
mines the|
ndling of|
ariables.|
-NCLUDE is|
-set, then|
+E is set,|
r‑missing|
alues are|
ed in the|
7 8 9
])
AT_CLEANUP
+
+# Long string variables tend to end in lots of spaces. The ASCII
+# driver didn't handle this very well: it would essentially produce
+# one blank line in a cell for each trailing space. This test
+# checks for regression. See bug #38672.
+AT_SETUP([ASCII driver renders end of line spaces reasonably])
+AT_KEYWORDS([render rendering])
+AT_DATA([input], [dnl
+3 3
+@a
+@b
+@xyzzy @&t@
+@d
+@e
+@f
+@g
+@h
+@i
+])
+AT_CHECK([render-test --width=15 --length=15 input], [0], [dnl
++-+-+-----+
+|a|b|xyzzy|
++-+-+-----+
+|d|e| f|
++-+-+-----+
+|g|h| i|
++-+-+-----+
+])
+AT_CLEANUP